nfsd: fix b0rken error value for setattr on read-only mount

..._want_write() returns -EROFS on failure, _not_ an NFS error value.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2012-04-12 23:47:00 -04:00
parent ecca5c3acc
commit 96f6f98501
1 changed files with 4 additions and 3 deletions

View File

@ -841,6 +841,7 @@ nfsd4_setattr(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
struct nfsd4_setattr *setattr) struct nfsd4_setattr *setattr)
{ {
__be32 status = nfs_ok; __be32 status = nfs_ok;
int err;
if (setattr->sa_iattr.ia_valid & ATTR_SIZE) { if (setattr->sa_iattr.ia_valid & ATTR_SIZE) {
nfs4_lock_state(); nfs4_lock_state();
@ -852,9 +853,9 @@ nfsd4_setattr(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
return status; return status;
} }
} }
status = fh_want_write(&cstate->current_fh); err = fh_want_write(&cstate->current_fh);
if (status) if (err)
return status; return nfserrno(err);
status = nfs_ok; status = nfs_ok;
status = check_attr_support(rqstp, cstate, setattr->sa_bmval, status = check_attr_support(rqstp, cstate, setattr->sa_bmval,