From: J. Bruce Fields Date: Fri, 16 Feb 2007 09:28:34 +0000 (-0800) Subject: [PATCH] knfsd: nfsd4: fix error return on unsupported acl X-Git-Tag: v2.6.21-rc1~103 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=f34f924274ad8f84c6d86ea9e52b0682347f5701;p=linux-2.6-omap-h63xx.git [PATCH] knfsd: nfsd4: fix error return on unsupported acl We should be returning ATTRNOTSUPP, not NOTSUPP, when acls are unsupported. Also fix a comment. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c index bb0f1860f58..5d090f11f2b 100644 --- a/fs/nfsd/nfs4xdr.c +++ b/fs/nfsd/nfs4xdr.c @@ -253,7 +253,7 @@ nfsd4_decode_fattr(struct nfsd4_compoundargs *argp, u32 *bmval, struct iattr *ia return status; /* - * According to spec, unsupported attributes return ERR_NOTSUPP; + * According to spec, unsupported attributes return ERR_ATTRNOTSUPP; * read-only attributes return ERR_INVAL. */ if ((bmval[0] & ~NFSD_SUPPORTED_ATTRS_WORD0) || (bmval[1] & ~NFSD_SUPPORTED_ATTRS_WORD1)) diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c index 8283236c6a0..7e6aa245b5d 100644 --- a/fs/nfsd/vfs.c +++ b/fs/nfsd/vfs.c @@ -466,7 +466,10 @@ out: posix_acl_release(dpacl); return (error); out_nfserr: - error = nfserrno(host_error); + if (host_error == -EOPNOTSUPP) + error = nfserr_attrnotsupp; + else + error = nfserrno(host_error); goto out; }