Commit 8a9ffb8c authored by Alexey Khoroshilov's avatar Alexey Khoroshilov Committed by Chuck Lever

NFSD: restore EINVAL error translation in nfsd_commit()

commit 555dbf1a ("nfsd: Replace use of rwsem with errseq_t")
incidentally broke translation of -EINVAL to nfserr_notsupp.
The patch restores that.

Found by Linux Verification Center (linuxtesting.org) with SVACE.
Signed-off-by: default avatarAlexey Khoroshilov <khoroshilov@ispras.ru>
Fixes: 555dbf1a ("nfsd: Replace use of rwsem with errseq_t")
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
parent da9e94fe
...@@ -1173,6 +1173,7 @@ nfsd_commit(struct svc_rqst *rqstp, struct svc_fh *fhp, u64 offset, ...@@ -1173,6 +1173,7 @@ nfsd_commit(struct svc_rqst *rqstp, struct svc_fh *fhp, u64 offset,
nfsd_copy_write_verifier(verf, nn); nfsd_copy_write_verifier(verf, nn);
err2 = filemap_check_wb_err(nf->nf_file->f_mapping, err2 = filemap_check_wb_err(nf->nf_file->f_mapping,
since); since);
err = nfserrno(err2);
break; break;
case -EINVAL: case -EINVAL:
err = nfserr_notsupp; err = nfserr_notsupp;
...@@ -1180,8 +1181,8 @@ nfsd_commit(struct svc_rqst *rqstp, struct svc_fh *fhp, u64 offset, ...@@ -1180,8 +1181,8 @@ nfsd_commit(struct svc_rqst *rqstp, struct svc_fh *fhp, u64 offset,
default: default:
nfsd_reset_write_verifier(nn); nfsd_reset_write_verifier(nn);
trace_nfsd_writeverf_reset(nn, rqstp, err2); trace_nfsd_writeverf_reset(nn, rqstp, err2);
err = nfserrno(err2);
} }
err = nfserrno(err2);
} else } else
nfsd_copy_write_verifier(verf, nn); nfsd_copy_write_verifier(verf, nn);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment