----- Original Message ----- > On Tue, 2019-08-27 at 06:25 -0400, Jan Stancek wrote: > > That theory is probably not correct for this case, since EIO I see > > appears > > to originate from write and nfs_writeback_result(). This function > > also > > produces message we saw in logs from Naresh. > > > > I can't find where/how is resp->count updated on WRITE reply in > > NFSv2. > > Issue also goes away with patch below, though I can't speak about its > > correctness: > > > > NFS version Type Test Return code > > nfsvers=2 tcp -b:base 0 > > nfsvers=2 tcp -g:general 0 > > nfsvers=2 tcp -s:special 0 > > nfsvers=2 tcp -l:lock 0 > > Total time: 141 > > > > diff --git a/fs/nfs/nfs2xdr.c b/fs/nfs/nfs2xdr.c > > index cbc17a203248..4913c6da270b 100644 > > --- a/fs/nfs/nfs2xdr.c > > +++ b/fs/nfs/nfs2xdr.c > > @@ -897,6 +897,16 @@ static int nfs2_xdr_dec_writeres(struct rpc_rqst > > *req, struct xdr_stream *xdr, > > void *data) > > { > > struct nfs_pgio_res *result = data; > > + struct rpc_task *rq_task = req->rq_task; > > + > > + if (rq_task) { > > + struct nfs_pgio_args *args = rq_task- > > >tk_msg.rpc_argp; > > + > > + if (args) { > > + result->count = args->count; > > + } > > + } > > > > /* All NFSv2 writes are "file sync" writes */ > > result->verf->committed = NFS_FILE_SYNC; > > Thanks! I've moved the above to nfs_write_done() so that we do it only > on success (see > http://git.linux-nfs.org/?p=trondmy/linux-nfs.git;a=commitdiff;h=3ba5688da709dd0f7d917029c206bc1848a6ae74 > ) Thanks, retested with 3ba5688da, all PASS: NFS version Type Test Return code nfsvers=2 tcp -b:base 0 nfsvers=2 tcp -g:general 0 nfsvers=2 tcp -s:special 0 nfsvers=2 tcp -l:lock 0 NFS version Type Test Return code nfsvers=3 tcp -b:base 0 nfsvers=3 tcp -g:general 0 nfsvers=3 tcp -s:special 0 nfsvers=3 tcp -l:lock 0 nfsvers=3 tcp6 -b:base 0 nfsvers=3 tcp6 -g:general 0 nfsvers=3 tcp6 -s:special 0 nfsvers=3 tcp6 -l:lock 0 NFS version Type Test Return code nfsvers=4 tcp -b:base 0 nfsvers=4 tcp -g:general 0 nfsvers=4 tcp -s:special 0 nfsvers=4 tcp -l:lock 0 nfsvers=4 tcp6 -b:base 0 nfsvers=4 tcp6 -g:general 0 nfsvers=4 tcp6 -s:special 0 nfsvers=4 tcp6 -l:lock 0 Feel free to add also: Reported-by: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> Tested-by: Jan Stancek <jstancek@xxxxxxxxxx>