Date: Sun, 7 May 2017 22:18:05 +0000 (UTC) From: Rick Macklem <rmacklem@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r317930 - stable/10/sys/fs/nfs Message-ID: <201705072218.v47MI58o074314@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: rmacklem Date: Sun May 7 22:18:05 2017 New Revision: 317930 URL: https://svnweb.freebsd.org/changeset/base/317930 Log: MFC: r317276 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. Modified: stable/10/sys/fs/nfs/nfs_commonkrpc.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/fs/nfs/nfs_commonkrpc.c ============================================================================== --- stable/10/sys/fs/nfs/nfs_commonkrpc.c Sun May 7 22:10:55 2017 (r317929) +++ stable/10/sys/fs/nfs/nfs_commonkrpc.c Sun May 7 22:18:05 2017 (r317930) @@ -1044,8 +1044,10 @@ tryagain: /* * 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; /*
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201705072218.v47MI58o074314>