diff options
| author | Neil Brown <neilb@cse.unsw.edu.au> | 2004-06-26 20:58:19 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-06-26 20:58:19 -0700 |
| commit | 7a9eaffa9ae8beab1127636546367159feda5820 (patch) | |
| tree | ccaedd986eec21d1009df3e7b10f6e8bea9b57d4 /include/linux/nfsd | |
| parent | 0bf213ab44a4ecebf41b453a9422a008c7048486 (diff) | |
[PATCH] knfsd: parse nsfd4 callback information
Preparation for delegations: parse callback information provided in
setclientid request.
From: Andy Adamson <andros@citi.umich.edu>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/nfsd')
| -rw-r--r-- | include/linux/nfsd/state.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/linux/nfsd/state.h b/include/linux/nfsd/state.h index 06da18506122..51d00f6ebf97 100644 --- a/include/linux/nfsd/state.h +++ b/include/linux/nfsd/state.h @@ -38,6 +38,7 @@ #define _NFSD4_STATE_H #include <linux/list.h> +#include <linux/sunrpc/clnt.h> #define NFS4_OPAQUE_LIMIT 1024 typedef struct { @@ -65,6 +66,22 @@ extern stateid_t onestateid; #define ZERO_STATEID(stateid) (!memcmp((stateid), &zerostateid, sizeof(stateid_t))) #define ONE_STATEID(stateid) (!memcmp((stateid), &onestateid, sizeof(stateid_t))) +/* client delegation callback info */ +struct nfs4_callback { + /* SETCLIENTID info */ + u32 cb_parsed; /* addr parsed */ + u32 cb_addr; + unsigned short cb_port; + u32 cb_prog; + u32 cb_ident; + struct xdr_netobj cb_netid; + /* RPC client info */ + u32 cb_set; /* successful CB_NULL call */ + struct rpc_program cb_program; + struct rpc_stat cb_stat; + struct rpc_clnt * cb_client; +}; + /* * struct nfs4_client - one per client. Clientids live here. * o Each nfs4_client is hashed by clientid. @@ -87,6 +104,7 @@ struct nfs4_client { struct svc_cred cl_cred; /* setclientid principal */ clientid_t cl_clientid; /* generated by server */ nfs4_verifier cl_confirm; /* generated by server */ + struct nfs4_callback cl_callback; /* callback info */ }; static inline void |
