diff options
author | 2024-06-16 21:21:19 -0400 | |
---|---|---|
committer | 2024-07-08 13:47:25 -0400 | |
commit | 820620516993c151c88e9b59edc79ed12d1c31cd (patch) | |
tree | a680ac8941dc006140b9b667efa9e8b8c8a7f189 /include/linux/nfs_xdr.h | |
parent | fs: nfs: add missing MODULE_DESCRIPTION() macros (diff) | |
download | wireguard-linux-820620516993c151c88e9b59edc79ed12d1c31cd.tar.xz wireguard-linux-820620516993c151c88e9b59edc79ed12d1c31cd.zip |
NFSv4: Clean up open delegation return structure
Instead of having the fields open coded in the struct nfs_openres,
add a separate structure for them so that we can reuse that code
for the WANT_DELEGATION case.
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Lance Shelton <lance.shelton@hammerspace.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to '')
-rw-r--r-- | include/linux/nfs_xdr.h | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index d09b9773b20c..682559e19d9d 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h @@ -449,6 +449,22 @@ struct stateowner_id { __u32 uniquifier; }; +struct nfs4_open_delegation { + __u32 open_delegation_type; + union { + struct { + fmode_t type; + __u32 do_recall; + nfs4_stateid stateid; + unsigned long pagemod_limit; + }; + struct { + __u32 why_no_delegation; + __u32 will_notify; + }; + }; +}; + /* * Arguments to the open call. */ @@ -490,13 +506,10 @@ struct nfs_openres { struct nfs_fattr * f_attr; struct nfs_seqid * seqid; const struct nfs_server *server; - fmode_t delegation_type; - nfs4_stateid delegation; - unsigned long pagemod_limit; - __u32 do_recall; __u32 attrset[NFS4_BITMAP_SIZE]; struct nfs4_string *owner; struct nfs4_string *group_owner; + struct nfs4_open_delegation delegation; __u32 access_request; __u32 access_supported; __u32 access_result; |