diff options
Diffstat (limited to 'fs/cifs/cifsglob.h')
-rw-r--r-- | fs/cifs/cifsglob.h | 36 |
1 files changed, 14 insertions, 22 deletions
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h index 571132c95231..5bfb75346cb0 100644 --- a/fs/cifs/cifsglob.h +++ b/fs/cifs/cifsglob.h | |||
@@ -161,6 +161,7 @@ struct TCP_Server_Info { | |||
161 | int srv_count; /* reference counter */ | 161 | int srv_count; /* reference counter */ |
162 | /* 15 character server name + 0x20 16th byte indicating type = srv */ | 162 | /* 15 character server name + 0x20 16th byte indicating type = srv */ |
163 | char server_RFC1001_name[RFC1001_NAME_LEN_WITH_NULL]; | 163 | char server_RFC1001_name[RFC1001_NAME_LEN_WITH_NULL]; |
164 | enum statusEnum tcpStatus; /* what we think the status is */ | ||
164 | char *hostname; /* hostname portion of UNC string */ | 165 | char *hostname; /* hostname portion of UNC string */ |
165 | struct socket *ssocket; | 166 | struct socket *ssocket; |
166 | struct sockaddr_storage dstaddr; | 167 | struct sockaddr_storage dstaddr; |
@@ -168,25 +169,16 @@ struct TCP_Server_Info { | |||
168 | wait_queue_head_t response_q; | 169 | wait_queue_head_t response_q; |
169 | wait_queue_head_t request_q; /* if more than maxmpx to srvr must block*/ | 170 | wait_queue_head_t request_q; /* if more than maxmpx to srvr must block*/ |
170 | struct list_head pending_mid_q; | 171 | struct list_head pending_mid_q; |
171 | void *Server_NlsInfo; /* BB - placeholder for future NLS info */ | ||
172 | unsigned short server_codepage; /* codepage for the server */ | ||
173 | enum protocolEnum protocolType; | ||
174 | char versionMajor; | ||
175 | char versionMinor; | ||
176 | bool svlocal:1; /* local server or remote */ | ||
177 | bool noblocksnd; /* use blocking sendmsg */ | 172 | bool noblocksnd; /* use blocking sendmsg */ |
178 | bool noautotune; /* do not autotune send buf sizes */ | 173 | bool noautotune; /* do not autotune send buf sizes */ |
179 | bool tcp_nodelay; | 174 | bool tcp_nodelay; |
180 | atomic_t inFlight; /* number of requests on the wire to server */ | 175 | atomic_t inFlight; /* number of requests on the wire to server */ |
181 | #ifdef CONFIG_CIFS_STATS2 | ||
182 | atomic_t inSend; /* requests trying to send */ | ||
183 | atomic_t num_waiters; /* blocked waiting to get in sendrecv */ | ||
184 | #endif | ||
185 | enum statusEnum tcpStatus; /* what we think the status is */ | ||
186 | struct mutex srv_mutex; | 176 | struct mutex srv_mutex; |
187 | struct task_struct *tsk; | 177 | struct task_struct *tsk; |
188 | char server_GUID[16]; | 178 | char server_GUID[16]; |
189 | char secMode; | 179 | char secMode; |
180 | bool session_estab; /* mark when very first sess is established */ | ||
181 | u16 dialect; /* dialect index that server chose */ | ||
190 | enum securityEnum secType; | 182 | enum securityEnum secType; |
191 | unsigned int maxReq; /* Clients should submit no more */ | 183 | unsigned int maxReq; /* Clients should submit no more */ |
192 | /* than maxReq distinct unanswered SMBs to the server when using */ | 184 | /* than maxReq distinct unanswered SMBs to the server when using */ |
@@ -199,8 +191,6 @@ struct TCP_Server_Info { | |||
199 | unsigned int max_vcs; /* maximum number of smb sessions, at least | 191 | unsigned int max_vcs; /* maximum number of smb sessions, at least |
200 | those that can be specified uniquely with | 192 | those that can be specified uniquely with |
201 | vcnumbers */ | 193 | vcnumbers */ |
202 | char sessid[4]; /* unique token id for this session */ | ||
203 | /* (returned on Negotiate */ | ||
204 | int capabilities; /* allow selective disabling of caps by smb sess */ | 194 | int capabilities; /* allow selective disabling of caps by smb sess */ |
205 | int timeAdj; /* Adjust for difference in server time zone in sec */ | 195 | int timeAdj; /* Adjust for difference in server time zone in sec */ |
206 | __u16 CurrentMid; /* multiplex id - rotating counter */ | 196 | __u16 CurrentMid; /* multiplex id - rotating counter */ |
@@ -210,18 +200,20 @@ struct TCP_Server_Info { | |||
210 | __u32 sequence_number; /* for signing, protected by srv_mutex */ | 200 | __u32 sequence_number; /* for signing, protected by srv_mutex */ |
211 | struct session_key session_key; | 201 | struct session_key session_key; |
212 | unsigned long lstrp; /* when we got last response from this server */ | 202 | unsigned long lstrp; /* when we got last response from this server */ |
213 | u16 dialect; /* dialect index that server chose */ | ||
214 | struct cifs_secmech secmech; /* crypto sec mech functs, descriptors */ | 203 | struct cifs_secmech secmech; /* crypto sec mech functs, descriptors */ |
215 | /* extended security flavors that server supports */ | 204 | /* extended security flavors that server supports */ |
205 | bool sec_ntlmssp; /* supports NTLMSSP */ | ||
206 | bool sec_kerberosu2u; /* supports U2U Kerberos */ | ||
216 | bool sec_kerberos; /* supports plain Kerberos */ | 207 | bool sec_kerberos; /* supports plain Kerberos */ |
217 | bool sec_mskerberos; /* supports legacy MS Kerberos */ | 208 | bool sec_mskerberos; /* supports legacy MS Kerberos */ |
218 | bool sec_kerberosu2u; /* supports U2U Kerberos */ | ||
219 | bool sec_ntlmssp; /* supports NTLMSSP */ | ||
220 | bool session_estab; /* mark when very first sess is established */ | ||
221 | struct delayed_work echo; /* echo ping workqueue job */ | 209 | struct delayed_work echo; /* echo ping workqueue job */ |
222 | #ifdef CONFIG_CIFS_FSCACHE | 210 | #ifdef CONFIG_CIFS_FSCACHE |
223 | struct fscache_cookie *fscache; /* client index cache cookie */ | 211 | struct fscache_cookie *fscache; /* client index cache cookie */ |
224 | #endif | 212 | #endif |
213 | #ifdef CONFIG_CIFS_STATS2 | ||
214 | atomic_t inSend; /* requests trying to send */ | ||
215 | atomic_t num_waiters; /* blocked waiting to get in sendrecv */ | ||
216 | #endif | ||
225 | }; | 217 | }; |
226 | 218 | ||
227 | /* | 219 | /* |
@@ -447,11 +439,11 @@ struct cifsInodeInfo { | |||
447 | /* BB add in lists for dirty pages i.e. write caching info for oplock */ | 439 | /* BB add in lists for dirty pages i.e. write caching info for oplock */ |
448 | struct list_head openFileList; | 440 | struct list_head openFileList; |
449 | __u32 cifsAttrs; /* e.g. DOS archive bit, sparse, compressed, system */ | 441 | __u32 cifsAttrs; /* e.g. DOS archive bit, sparse, compressed, system */ |
450 | unsigned long time; /* jiffies of last update/check of inode */ | 442 | bool clientCanCacheRead; /* read oplock */ |
451 | bool clientCanCacheRead:1; /* read oplock */ | 443 | bool clientCanCacheAll; /* read and writebehind oplock */ |
452 | bool clientCanCacheAll:1; /* read and writebehind oplock */ | 444 | bool delete_pending; /* DELETE_ON_CLOSE is set */ |
453 | bool delete_pending:1; /* DELETE_ON_CLOSE is set */ | 445 | bool invalid_mapping; /* pagecache is invalid */ |
454 | bool invalid_mapping:1; /* pagecache is invalid */ | 446 | unsigned long time; /* jiffies of last update of inode */ |
455 | u64 server_eof; /* current file size on server */ | 447 | u64 server_eof; /* current file size on server */ |
456 | u64 uniqueid; /* server inode number */ | 448 | u64 uniqueid; /* server inode number */ |
457 | u64 createtime; /* creation time on server */ | 449 | u64 createtime; /* creation time on server */ |