mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
NFSD: restore EINVAL error translation in nfsd_commit()
commit555dbf1a9a
("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: Alexey Khoroshilov <khoroshilov@ispras.ru> Fixes:555dbf1a9a
("nfsd: Replace use of rwsem with errseq_t") Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
This commit is contained in:
parent
da9e94fe00
commit
8a9ffb8c85
@ -1173,6 +1173,7 @@ nfsd_commit(struct svc_rqst *rqstp, struct svc_fh *fhp, u64 offset,
|
||||
nfsd_copy_write_verifier(verf, nn);
|
||||
err2 = filemap_check_wb_err(nf->nf_file->f_mapping,
|
||||
since);
|
||||
err = nfserrno(err2);
|
||||
break;
|
||||
case -EINVAL:
|
||||
err = nfserr_notsupp;
|
||||
@ -1180,8 +1181,8 @@ nfsd_commit(struct svc_rqst *rqstp, struct svc_fh *fhp, u64 offset,
|
||||
default:
|
||||
nfsd_reset_write_verifier(nn);
|
||||
trace_nfsd_writeverf_reset(nn, rqstp, err2);
|
||||
err = nfserrno(err2);
|
||||
}
|
||||
err = nfserrno(err2);
|
||||
} else
|
||||
nfsd_copy_write_verifier(verf, nn);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user