aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/nfsd/state.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/nfsd/state.h')
-rw-r--r--include/linux/nfsd/state.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/include/linux/nfsd/state.h b/include/linux/nfsd/state.h
index 296e6429fc3b..fdaa84addadb 100644
--- a/include/linux/nfsd/state.h
+++ b/include/linux/nfsd/state.h
@@ -109,6 +109,8 @@ struct nfs4_callback {
109 struct rpc_clnt * cb_client; 109 struct rpc_clnt * cb_client;
110}; 110};
111 111
112#define HEXDIR_LEN 33 /* hex version of 16 byte md5 of cl_name plus '\0' */
113
112/* 114/*
113 * struct nfs4_client - one per client. Clientids live here. 115 * struct nfs4_client - one per client. Clientids live here.
114 * o Each nfs4_client is hashed by clientid. 116 * o Each nfs4_client is hashed by clientid.
@@ -126,6 +128,7 @@ struct nfs4_client {
126 struct list_head cl_del_perclnt; /* list: delegations */ 128 struct list_head cl_del_perclnt; /* list: delegations */
127 struct list_head cl_lru; /* tail queue */ 129 struct list_head cl_lru; /* tail queue */
128 struct xdr_netobj cl_name; /* id generated by client */ 130 struct xdr_netobj cl_name; /* id generated by client */
131 char cl_recdir[HEXDIR_LEN]; /* recovery dir */
129 nfs4_verifier cl_verifier; /* generated by client */ 132 nfs4_verifier cl_verifier; /* generated by client */
130 time_t cl_time; /* time of last lease renewal */ 133 time_t cl_time; /* time of last lease renewal */
131 u32 cl_addr; /* client ipaddress */ 134 u32 cl_addr; /* client ipaddress */
@@ -143,7 +146,7 @@ struct nfs4_client {
143 */ 146 */
144struct nfs4_client_reclaim { 147struct nfs4_client_reclaim {
145 struct list_head cr_strhash; /* hash by cr_name */ 148 struct list_head cr_strhash; /* hash by cr_name */
146 struct xdr_netobj cr_name; /* id generated by client */ 149 char cr_recdir[HEXDIR_LEN]; /* recover dir */
147}; 150};
148 151
149static inline void 152static inline void
@@ -283,6 +286,7 @@ extern void nfs4_free_stateowner(struct kref *kref);
283extern void nfsd4_probe_callback(struct nfs4_client *clp); 286extern void nfsd4_probe_callback(struct nfs4_client *clp);
284extern void nfsd4_cb_recall(struct nfs4_delegation *dp); 287extern void nfsd4_cb_recall(struct nfs4_delegation *dp);
285extern void nfs4_put_delegation(struct nfs4_delegation *dp); 288extern void nfs4_put_delegation(struct nfs4_delegation *dp);
289extern int nfs4_make_rec_clidname(char *clidname, struct xdr_netobj *clname);
286 290
287static inline void 291static inline void
288nfs4_put_stateowner(struct nfs4_stateowner *so) 292nfs4_put_stateowner(struct nfs4_stateowner *so)