aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd/state.h
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@citi.umich.edu>2010-06-06 18:12:14 -0400
committerJ. Bruce Fields <bfields@redhat.com>2010-10-01 19:29:44 -0400
commitc7662518c781edc8059cd9737d18168154bf7510 (patch)
treec622e315c4df927a915f2a7992eb946ae168b3b4 /fs/nfsd/state.h
parent5b6feee9608dce7afd2646f457c93e612526d1d8 (diff)
nfsd4: keep per-session list of connections
The spec requires us in various places to keep track of the connections associated with each session. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Diffstat (limited to 'fs/nfsd/state.h')
-rw-r--r--fs/nfsd/state.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/nfsd/state.h b/fs/nfsd/state.h
index 58bc2a63ca1..29413c2ed27 100644
--- a/fs/nfsd/state.h
+++ b/fs/nfsd/state.h
@@ -152,6 +152,13 @@ struct nfsd4_clid_slot {
152 struct nfsd4_create_session sl_cr_ses; 152 struct nfsd4_create_session sl_cr_ses;
153}; 153};
154 154
155struct nfsd4_conn {
156 struct list_head cn_persession;
157 struct svc_xprt *cn_xprt;
158/* CDFC4_FORE, CDFC4_BACK: */
159 unsigned char cn_flags;
160};
161
155struct nfsd4_session { 162struct nfsd4_session {
156 struct kref se_ref; 163 struct kref se_ref;
157 struct list_head se_hash; /* hash by sessionid */ 164 struct list_head se_hash; /* hash by sessionid */
@@ -161,6 +168,7 @@ struct nfsd4_session {
161 struct nfs4_sessionid se_sessionid; 168 struct nfs4_sessionid se_sessionid;
162 struct nfsd4_channel_attrs se_fchannel; 169 struct nfsd4_channel_attrs se_fchannel;
163 struct nfsd4_channel_attrs se_bchannel; 170 struct nfsd4_channel_attrs se_bchannel;
171 struct list_head se_conns;
164 struct nfsd4_slot *se_slots[]; /* forward channel slots */ 172 struct nfsd4_slot *se_slots[]; /* forward channel slots */
165}; 173};
166 174