diff options
Diffstat (limited to 'fs/cifs/cifsglob.h')
-rw-r--r-- | fs/cifs/cifsglob.h | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h index 5bfb75346cb0..17afb0fbcaed 100644 --- a/fs/cifs/cifsglob.h +++ b/fs/cifs/cifsglob.h | |||
@@ -166,6 +166,9 @@ struct TCP_Server_Info { | |||
166 | struct socket *ssocket; | 166 | struct socket *ssocket; |
167 | struct sockaddr_storage dstaddr; | 167 | struct sockaddr_storage dstaddr; |
168 | struct sockaddr_storage srcaddr; /* locally bind to this IP */ | 168 | struct sockaddr_storage srcaddr; /* locally bind to this IP */ |
169 | #ifdef CONFIG_NET_NS | ||
170 | struct net *net; | ||
171 | #endif | ||
169 | wait_queue_head_t response_q; | 172 | wait_queue_head_t response_q; |
170 | wait_queue_head_t request_q; /* if more than maxmpx to srvr must block*/ | 173 | wait_queue_head_t request_q; /* if more than maxmpx to srvr must block*/ |
171 | struct list_head pending_mid_q; | 174 | struct list_head pending_mid_q; |
@@ -185,6 +188,8 @@ struct TCP_Server_Info { | |||
185 | /* multiplexed reads or writes */ | 188 | /* multiplexed reads or writes */ |
186 | unsigned int maxBuf; /* maxBuf specifies the maximum */ | 189 | unsigned int maxBuf; /* maxBuf specifies the maximum */ |
187 | /* message size the server can send or receive for non-raw SMBs */ | 190 | /* message size the server can send or receive for non-raw SMBs */ |
191 | /* maxBuf is returned by SMB NegotiateProtocol so maxBuf is only 0 */ | ||
192 | /* when socket is setup (and during reconnect) before NegProt sent */ | ||
188 | unsigned int max_rw; /* maxRw specifies the maximum */ | 193 | unsigned int max_rw; /* maxRw specifies the maximum */ |
189 | /* message size the server can send or receive for */ | 194 | /* message size the server can send or receive for */ |
190 | /* SMB_COM_WRITE_RAW or SMB_COM_READ_RAW. */ | 195 | /* SMB_COM_WRITE_RAW or SMB_COM_READ_RAW. */ |
@@ -217,6 +222,36 @@ struct TCP_Server_Info { | |||
217 | }; | 222 | }; |
218 | 223 | ||
219 | /* | 224 | /* |
225 | * Macros to allow the TCP_Server_Info->net field and related code to drop out | ||
226 | * when CONFIG_NET_NS isn't set. | ||
227 | */ | ||
228 | |||
229 | #ifdef CONFIG_NET_NS | ||
230 | |||
231 | static inline struct net *cifs_net_ns(struct TCP_Server_Info *srv) | ||
232 | { | ||
233 | return srv->net; | ||
234 | } | ||
235 | |||
236 | static inline void cifs_set_net_ns(struct TCP_Server_Info *srv, struct net *net) | ||
237 | { | ||
238 | srv->net = net; | ||
239 | } | ||
240 | |||
241 | #else | ||
242 | |||
243 | static inline struct net *cifs_net_ns(struct TCP_Server_Info *srv) | ||
244 | { | ||
245 | return &init_net; | ||
246 | } | ||
247 | |||
248 | static inline void cifs_set_net_ns(struct TCP_Server_Info *srv, struct net *net) | ||
249 | { | ||
250 | } | ||
251 | |||
252 | #endif | ||
253 | |||
254 | /* | ||
220 | * Session structure. One of these for each uid session with a particular host | 255 | * Session structure. One of these for each uid session with a particular host |
221 | */ | 256 | */ |
222 | struct cifsSesInfo { | 257 | struct cifsSesInfo { |
@@ -619,7 +654,7 @@ static inline void free_dfs_info_array(struct dfs_info3_param *param, | |||
619 | #define MID_REQUEST_SUBMITTED 2 | 654 | #define MID_REQUEST_SUBMITTED 2 |
620 | #define MID_RESPONSE_RECEIVED 4 | 655 | #define MID_RESPONSE_RECEIVED 4 |
621 | #define MID_RETRY_NEEDED 8 /* session closed while this request out */ | 656 | #define MID_RETRY_NEEDED 8 /* session closed while this request out */ |
622 | #define MID_NO_RESP_NEEDED 0x10 | 657 | #define MID_RESPONSE_MALFORMED 0x10 |
623 | 658 | ||
624 | /* Types of response buffer returned from SendReceive2 */ | 659 | /* Types of response buffer returned from SendReceive2 */ |
625 | #define CIFS_NO_BUFFER 0 /* Response buffer not returned */ | 660 | #define CIFS_NO_BUFFER 0 /* Response buffer not returned */ |