From: Trond Myklebust Date: Fri, 20 Sep 2019 11:23:44 +0000 (-0400) Subject: NFSv4: Add a helper to increment stateid seqids X-Git-Tag: v5.4-rc1~40^2~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=922839570920c024baf740ef45dfa98009f0192e;p=thirdparty%2Flinux.git NFSv4: Add a helper to increment stateid seqids Add a helper function to increment stateid seqids according to the rules specified in RFC5661 Section 8.2.2. Signed-off-by: Trond Myklebust Signed-off-by: Anna Schumaker --- diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h index 3564da1ba8a1c..e8f74ed98e42c 100644 --- a/fs/nfs/nfs4_fs.h +++ b/fs/nfs/nfs4_fs.h @@ -574,6 +574,15 @@ static inline bool nfs4_stateid_is_newer(const nfs4_stateid *s1, const nfs4_stat return (s32)(be32_to_cpu(s1->seqid) - be32_to_cpu(s2->seqid)) > 0; } +static inline void nfs4_stateid_seqid_inc(nfs4_stateid *s1) +{ + u32 seqid = be32_to_cpu(s1->seqid); + + if (++seqid == 0) + ++seqid; + s1->seqid = cpu_to_be32(seqid); +} + static inline bool nfs4_valid_open_stateid(const struct nfs4_state *state) { return test_bit(NFS_STATE_RECOVERY_FAILED, &state->flags) == 0;