]> git.hungrycats.org Git - linux/commitdiff
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)
committerSasha Levin <alexander.levin@verizon.com>
Mon, 6 Mar 2017 22:31:12 +0000 (17:31 -0500)
[ Upstream commit 406dab8450ec76eca88a1af2fc15d18a2b36ca49 ]

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>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
fs/nfs/nfs4state.c

index ddef1dc80cf7d7c88b9202bf01746c3497bacf28..2a9ab265aa32c3abd77369ece2d482aa8fada1eb 100644 (file)
@@ -1073,6 +1073,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;
        };