mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-03 04:42:13 +00:00
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>
This commit is contained in:
parent
9a8f6b5ea2
commit
93b717fd81
8 changed files with 85 additions and 24 deletions
|
@ -50,12 +50,27 @@ struct nfs4_label {
|
|||
|
||||
typedef struct { char data[NFS4_VERIFIER_SIZE]; } nfs4_verifier;
|
||||
|
||||
struct nfs_stateid4 {
|
||||
__be32 seqid;
|
||||
char other[NFS4_STATEID_OTHER_SIZE];
|
||||
} __attribute__ ((packed));
|
||||
struct nfs4_stateid_struct {
|
||||
union {
|
||||
char data[NFS4_STATEID_SIZE];
|
||||
struct {
|
||||
__be32 seqid;
|
||||
char other[NFS4_STATEID_OTHER_SIZE];
|
||||
} __attribute__ ((packed));
|
||||
};
|
||||
|
||||
typedef struct nfs_stateid4 nfs4_stateid;
|
||||
enum {
|
||||
NFS4_INVALID_STATEID_TYPE = 0,
|
||||
NFS4_SPECIAL_STATEID_TYPE,
|
||||
NFS4_OPEN_STATEID_TYPE,
|
||||
NFS4_LOCK_STATEID_TYPE,
|
||||
NFS4_DELEGATION_STATEID_TYPE,
|
||||
NFS4_LAYOUT_STATEID_TYPE,
|
||||
NFS4_PNFS_DS_STATEID_TYPE,
|
||||
} type;
|
||||
};
|
||||
|
||||
typedef struct nfs4_stateid_struct nfs4_stateid;
|
||||
|
||||
enum nfs_opnum4 {
|
||||
OP_ACCESS = 3,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue