diff options
Diffstat (limited to 'include/linux/nfsd/state.h')
-rw-r--r-- | include/linux/nfsd/state.h | 44 |
1 files changed, 23 insertions, 21 deletions
diff --git a/include/linux/nfsd/state.h b/include/linux/nfsd/state.h index 7ef4b7ad1214..57ab2ed08459 100644 --- a/include/linux/nfsd/state.h +++ b/include/linux/nfsd/state.h | |||
@@ -60,15 +60,6 @@ typedef struct { | |||
60 | #define si_stateownerid si_opaque.so_stateownerid | 60 | #define si_stateownerid si_opaque.so_stateownerid |
61 | #define si_fileid si_opaque.so_fileid | 61 | #define si_fileid si_opaque.so_fileid |
62 | 62 | ||
63 | |||
64 | struct nfs4_cb_recall { | ||
65 | u32 cbr_ident; | ||
66 | int cbr_trunc; | ||
67 | stateid_t cbr_stateid; | ||
68 | struct knfsd_fh cbr_fh; | ||
69 | struct nfs4_delegation *cbr_dp; | ||
70 | }; | ||
71 | |||
72 | struct nfs4_delegation { | 63 | struct nfs4_delegation { |
73 | struct list_head dl_perfile; | 64 | struct list_head dl_perfile; |
74 | struct list_head dl_perclnt; | 65 | struct list_head dl_perclnt; |
@@ -80,22 +71,25 @@ struct nfs4_delegation { | |||
80 | struct file *dl_vfs_file; | 71 | struct file *dl_vfs_file; |
81 | u32 dl_type; | 72 | u32 dl_type; |
82 | time_t dl_time; | 73 | time_t dl_time; |
83 | struct nfs4_cb_recall dl_recall; | 74 | /* For recall: */ |
75 | u32 dl_ident; | ||
76 | stateid_t dl_stateid; | ||
77 | struct knfsd_fh dl_fh; | ||
78 | int dl_retries; | ||
84 | }; | 79 | }; |
85 | 80 | ||
86 | #define dl_stateid dl_recall.cbr_stateid | ||
87 | #define dl_fh dl_recall.cbr_fh | ||
88 | |||
89 | /* client delegation callback info */ | 81 | /* client delegation callback info */ |
90 | struct nfs4_callback { | 82 | struct nfs4_cb_conn { |
91 | /* SETCLIENTID info */ | 83 | /* SETCLIENTID info */ |
92 | u32 cb_addr; | 84 | u32 cb_addr; |
93 | unsigned short cb_port; | 85 | unsigned short cb_port; |
94 | u32 cb_prog; | 86 | u32 cb_prog; |
95 | u32 cb_ident; | 87 | u32 cb_minorversion; |
88 | u32 cb_ident; /* minorversion 0 only */ | ||
96 | /* RPC client info */ | 89 | /* RPC client info */ |
97 | atomic_t cb_set; /* successful CB_NULL call */ | 90 | atomic_t cb_set; /* successful CB_NULL call */ |
98 | struct rpc_clnt * cb_client; | 91 | struct rpc_clnt * cb_client; |
92 | struct rpc_cred * cb_cred; | ||
99 | }; | 93 | }; |
100 | 94 | ||
101 | /* Maximum number of slots per session. 128 is useful for long haul TCP */ | 95 | /* Maximum number of slots per session. 128 is useful for long haul TCP */ |
@@ -121,6 +115,17 @@ struct nfsd4_slot { | |||
121 | struct nfsd4_cache_entry sl_cache_entry; | 115 | struct nfsd4_cache_entry sl_cache_entry; |
122 | }; | 116 | }; |
123 | 117 | ||
118 | struct nfsd4_channel_attrs { | ||
119 | u32 headerpadsz; | ||
120 | u32 maxreq_sz; | ||
121 | u32 maxresp_sz; | ||
122 | u32 maxresp_cached; | ||
123 | u32 maxops; | ||
124 | u32 maxreqs; | ||
125 | u32 nr_rdma_attrs; | ||
126 | u32 rdma_attrs; | ||
127 | }; | ||
128 | |||
124 | struct nfsd4_session { | 129 | struct nfsd4_session { |
125 | struct kref se_ref; | 130 | struct kref se_ref; |
126 | struct list_head se_hash; /* hash by sessionid */ | 131 | struct list_head se_hash; /* hash by sessionid */ |
@@ -128,11 +133,8 @@ struct nfsd4_session { | |||
128 | u32 se_flags; | 133 | u32 se_flags; |
129 | struct nfs4_client *se_client; /* for expire_client */ | 134 | struct nfs4_client *se_client; /* for expire_client */ |
130 | struct nfs4_sessionid se_sessionid; | 135 | struct nfs4_sessionid se_sessionid; |
131 | u32 se_fmaxreq_sz; | 136 | struct nfsd4_channel_attrs se_fchannel; |
132 | u32 se_fmaxresp_sz; | 137 | struct nfsd4_channel_attrs se_bchannel; |
133 | u32 se_fmaxresp_cached; | ||
134 | u32 se_fmaxops; | ||
135 | u32 se_fnumslots; | ||
136 | struct nfsd4_slot se_slots[]; /* forward channel slots */ | 138 | struct nfsd4_slot se_slots[]; /* forward channel slots */ |
137 | }; | 139 | }; |
138 | 140 | ||
@@ -184,7 +186,7 @@ struct nfs4_client { | |||
184 | struct svc_cred cl_cred; /* setclientid principal */ | 186 | struct svc_cred cl_cred; /* setclientid principal */ |
185 | clientid_t cl_clientid; /* generated by server */ | 187 | clientid_t cl_clientid; /* generated by server */ |
186 | nfs4_verifier cl_confirm; /* generated by server */ | 188 | nfs4_verifier cl_confirm; /* generated by server */ |
187 | struct nfs4_callback cl_callback; /* callback info */ | 189 | struct nfs4_cb_conn cl_cb_conn; /* callback info */ |
188 | atomic_t cl_count; /* ref count */ | 190 | atomic_t cl_count; /* ref count */ |
189 | u32 cl_firststate; /* recovery dir creation */ | 191 | u32 cl_firststate; /* recovery dir creation */ |
190 | 192 | ||