Small acl patch to return the aclerror that comes back from nfsrv_dissectacl(). This fixes a problem where ATTRNOTSUPP was being returned instead of BADOWNER.
Reviewed by: rmacklem Approved by: zml (mentor) MFC after: 2 weeks
This commit is contained in:
parent
8e75ad45e6
commit
b008a72c86
@ -660,9 +660,9 @@ nfsrv_dissectacl(struct nfsrv_descript *nd, NFSACL_T *aclp, int *aclerrp,
|
||||
aclsize = NFSX_UNSIGNED;
|
||||
acecnt = fxdr_unsigned(int, *tl);
|
||||
if (acecnt > ACL_MAX_ENTRIES)
|
||||
aceerr = 1;
|
||||
aceerr = NFSERR_ATTRNOTSUPP;
|
||||
if (nfsrv_useacl == 0)
|
||||
aceerr = 1;
|
||||
aceerr = NFSERR_ATTRNOTSUPP;
|
||||
for (i = 0; i < acecnt; i++) {
|
||||
if (aclp && !aceerr)
|
||||
error = nfsrv_dissectace(nd, &aclp->acl_entry[i],
|
||||
|
@ -2304,7 +2304,7 @@ nfsv4_sattr(struct nfsrv_descript *nd, struct nfsvattr *nvap,
|
||||
if (error)
|
||||
goto nfsmout;
|
||||
if (aceerr && !nd->nd_repstat)
|
||||
nd->nd_repstat = NFSERR_ATTRNOTSUPP;
|
||||
nd->nd_repstat = aceerr;
|
||||
attrsum += aclsize;
|
||||
break;
|
||||
case NFSATTRBIT_ARCHIVE:
|
||||
|
Loading…
x
Reference in New Issue
Block a user