diff options
Diffstat (limited to 'fs/nfsd')
-rw-r--r-- | fs/nfsd/nfs4xdr.c | 2 | ||||
-rw-r--r-- | fs/nfsd/vfs.c | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c index bb0f1860f582..5d090f11f2be 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 | |||
253 | return status; | 253 | return status; |
254 | 254 | ||
255 | /* | 255 | /* |
256 | * According to spec, unsupported attributes return ERR_NOTSUPP; | 256 | * According to spec, unsupported attributes return ERR_ATTRNOTSUPP; |
257 | * read-only attributes return ERR_INVAL. | 257 | * read-only attributes return ERR_INVAL. |
258 | */ | 258 | */ |
259 | if ((bmval[0] & ~NFSD_SUPPORTED_ATTRS_WORD0) || (bmval[1] & ~NFSD_SUPPORTED_ATTRS_WORD1)) | 259 | 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 8283236c6a0f..7e6aa245b5d5 100644 --- a/fs/nfsd/vfs.c +++ b/fs/nfsd/vfs.c | |||
@@ -466,7 +466,10 @@ out: | |||
466 | posix_acl_release(dpacl); | 466 | posix_acl_release(dpacl); |
467 | return (error); | 467 | return (error); |
468 | out_nfserr: | 468 | out_nfserr: |
469 | error = nfserrno(host_error); | 469 | if (host_error == -EOPNOTSUPP) |
470 | error = nfserr_attrnotsupp; | ||
471 | else | ||
472 | error = nfserrno(host_error); | ||
470 | goto out; | 473 | goto out; |
471 | } | 474 | } |
472 | 475 | ||