提交 8a9ffb8c 编写于 作者: A Alexey Khoroshilov 提交者: 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: NAlexey Khoroshilov <khoroshilov@ispras.ru>
Fixes: 555dbf1a ("nfsd: Replace use of rwsem with errseq_t")
Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
上级 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% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册