diff options
author | Trond Myklebust <trondmy@gmail.com> | 2019-09-20 07:23:44 -0400 |
---|---|---|
committer | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2019-09-20 15:44:45 -0400 |
commit | 922839570920c024baf740ef45dfa98009f0192e (patch) | |
tree | f77cbcca0b1d3379af7c5162383cc3ed7f7e75c7 /fs | |
parent | 6109bcf7130126d24a9ec9d881c665d5d9ab0eb4 (diff) |
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 <trond.myklebust@hammerspace.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/nfs/nfs4_fs.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h index 3564da1ba8a1..e8f74ed98e42 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 | |||
574 | return (s32)(be32_to_cpu(s1->seqid) - be32_to_cpu(s2->seqid)) > 0; | 574 | return (s32)(be32_to_cpu(s1->seqid) - be32_to_cpu(s2->seqid)) > 0; |
575 | } | 575 | } |
576 | 576 | ||
577 | static inline void nfs4_stateid_seqid_inc(nfs4_stateid *s1) | ||
578 | { | ||
579 | u32 seqid = be32_to_cpu(s1->seqid); | ||
580 | |||
581 | if (++seqid == 0) | ||
582 | ++seqid; | ||
583 | s1->seqid = cpu_to_be32(seqid); | ||
584 | } | ||
585 | |||
577 | static inline bool nfs4_valid_open_stateid(const struct nfs4_state *state) | 586 | static inline bool nfs4_valid_open_stateid(const struct nfs4_state *state) |
578 | { | 587 | { |
579 | return test_bit(NFS_STATE_RECOVERY_FAILED, &state->flags) == 0; | 588 | return test_bit(NFS_STATE_RECOVERY_FAILED, &state->flags) == 0; |