Adjust va_mask for setattr. FreeBSD doesn't have va_mask, so we initialize it

based on individual fields beeing set. This doesn't work for setattr replay,
because va_type is set there, so we add AT_TYPE flag to va_mask, which won't
be accepted by zfs_setattr().

Reported by:	kris
This commit is contained in:
Pawel Jakub Dawidek 2007-05-28 02:37:43 +00:00
parent 3080596e7f
commit 5750956634
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=170044
2 changed files with 2 additions and 0 deletions

View File

@ -3355,6 +3355,7 @@ zfs_freebsd_setattr(ap)
return (EOPNOTSUPP);
vattr_init_mask(vap);
vap->va_mask &= ~AT_NOSET;
return (zfs_setattr(ap->a_vp, vap, 0, ap->a_cred, NULL));
}

View File

@ -3355,6 +3355,7 @@ zfs_freebsd_setattr(ap)
return (EOPNOTSUPP);
vattr_init_mask(vap);
vap->va_mask &= ~AT_NOSET;
return (zfs_setattr(ap->a_vp, vap, 0, ap->a_cred, NULL));
}