diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2016-05-16 17:42:43 -0400 |
---|---|---|
committer | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2016-05-17 15:48:06 -0400 |
commit | 93b717fd81bf6b9a73c3702e9b079b4de8148b34 (patch) | |
tree | 0ae5ec7f5a79410e12710941fffc9725a687c6d8 /fs/nfs/nfs4_fs.h | |
parent | 9a8f6b5ea275ff01fc8ef3b8630a3d4ed6b0a362 (diff) | |
download | linux-stable-93b717fd81bf6b9a73c3702e9b079b4de8148b34.tar.gz linux-stable-93b717fd81bf6b9a73c3702e9b079b4de8148b34.tar.bz2 linux-stable-93b717fd81bf6b9a73c3702e9b079b4de8148b34.zip |
NFSv4: Label stateids with the type
In order to more easily distinguish what kind of stateid we are dealing
with, introduce a type that can be used to label the stateid structure.
The label will be useful both for debugging, but also when dealing with
operations like SETATTR, READ and WRITE that can take several different
types of stateid as arguments.
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'fs/nfs/nfs4_fs.h')
-rw-r--r-- | fs/nfs/nfs4_fs.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h index 4afdee420d25..b5d9f345c9f2 100644 --- a/fs/nfs/nfs4_fs.h +++ b/fs/nfs/nfs4_fs.h @@ -496,12 +496,15 @@ extern struct svc_version nfs4_callback_version4; static inline void nfs4_stateid_copy(nfs4_stateid *dst, const nfs4_stateid *src) { - memcpy(dst, src, sizeof(*dst)); + memcpy(dst->data, src->data, sizeof(dst->data)); + dst->type = src->type; } static inline bool nfs4_stateid_match(const nfs4_stateid *dst, const nfs4_stateid *src) { - return memcmp(dst, src, sizeof(*dst)) == 0; + if (dst->type != src->type) + return false; + return memcmp(dst->data, src->data, sizeof(dst->data)) == 0; } static inline bool nfs4_stateid_match_other(const nfs4_stateid *dst, const nfs4_stateid *src) |