nfs: Fix "Don't increment lock sequence ID after NFS4ERR_MOVED"
authorChuck Lever <chuck.lever@oracle.com>
Thu, 26 Jan 2017 20:14:52 +0000 (15:14 -0500)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Thu, 26 Jan 2017 20:25:03 +0000 (15:25 -0500)
Lock sequence IDs are bumped in decode_lock by calling
nfs_increment_seqid(). nfs_increment_sequid() does not use the
seqid_mutating_err() function fixed in commit 059aa7348241 ("Don't
increment lock sequence ID after NFS4ERR_MOVED").

Fixes: 059aa7348241 ("Don't increment lock sequence ID after ...")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Tested-by: Xuan Qi <xuan.qi@oracle.com>
Cc: stable@vger.kernel.org # v3.7+
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
fs/nfs/nfs4state.c

index 90e6193ce6bed300ddadb1aa1a9aca64a8c2aafc..daeb94e3acd49bd6553601bd15adb8f72236825b 100644 (file)
@@ -1091,6 +1091,7 @@ static void nfs_increment_seqid(int status, struct nfs_seqid *seqid)
                case -NFS4ERR_BADXDR:
                case -NFS4ERR_RESOURCE:
                case -NFS4ERR_NOFILEHANDLE:
+               case -NFS4ERR_MOVED:
                        /* Non-seqid mutating errors */
                        return;
        };