diff options
author | J. Bruce Fields <bfields@citi.umich.edu> | 2010-06-06 18:12:14 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2010-10-01 19:29:44 -0400 |
commit | c7662518c781edc8059cd9737d18168154bf7510 (patch) | |
tree | c622e315c4df927a915f2a7992eb946ae168b3b4 /fs/nfsd/state.h | |
parent | 5b6feee9608dce7afd2646f457c93e612526d1d8 (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.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/nfsd/state.h b/fs/nfsd/state.h index 58bc2a63ca14..29413c2ed270 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 | ||
155 | struct 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 | |||
155 | struct nfsd4_session { | 162 | struct 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 | ||