Don't set ND_NOMOREDATA for a failed Setattr operation (NFSv4).

The NFSv4 Setattr operation always has reply data even when it fails,
so don't set the ND_NOMOREDATA for it. This would only affect unusual
cases where Setattr fails and the RPC code wants to parse the rest of
the compound. Detected during recent development related to the pNFS server.

MFC after:	2 weeks
This commit is contained in:
Rick Macklem 2017-04-21 23:01:32 +00:00
parent 40f8ff4800
commit 0596f343f8

View File

@ -1043,8 +1043,10 @@ newnfs_request(struct nfsrv_descript *nd, struct nfsmount *nmp,
/*
* If this op's status is non-zero, mark
* that there is no more data to process.
* The exception is Setattr, which always has xdr
* when it has failed.
*/
if (j)
if (j != 0 && i != NFSV4OP_SETATTR)
nd->nd_flag |= ND_NOMOREDATA;
/*