diff options
author | Pavel Shilovsky <piastry@etersoft.ru> | 2012-03-20 12:55:09 +0300 |
---|---|---|
committer | Steve French <stevef@smf-gateway.(none)> | 2012-03-20 10:17:40 -0500 |
commit | 10b9b98e41ba248a899f6175ce96ee91431b6194 (patch) | |
tree | 8734af1f3e16d1836b2ce16f848828d4ac200f5f /fs/cifs/cifsglob.h | |
parent | ce85852b90a214cf577fc1b4f49d99fd7e98784a (diff) | |
download | linux-10b9b98e41ba248a899f6175ce96ee91431b6194.tar.gz linux-10b9b98e41ba248a899f6175ce96ee91431b6194.tar.bz2 linux-10b9b98e41ba248a899f6175ce96ee91431b6194.zip |
CIFS: Respect negotiated MaxMpxCount
Some servers sets this value less than 50 that was hardcoded and
we lost the connection if when we exceed this limit. Fix this by
respecting this value - not sending more than the server allows.
Cc: stable@kernel.org
Reviewed-by: Jeff Layton <jlayton@samba.org>
Signed-off-by: Pavel Shilovsky <piastry@etersoft.ru>
Signed-off-by: Steve French <stevef@smf-gateway.(none)>
Diffstat (limited to 'fs/cifs/cifsglob.h')
-rw-r--r-- | fs/cifs/cifsglob.h | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h index 76e7d8b6da17..d47d20aac670 100644 --- a/fs/cifs/cifsglob.h +++ b/fs/cifs/cifsglob.h @@ -55,14 +55,9 @@ /* * MAX_REQ is the maximum number of requests that WE will send - * on one socket concurrently. It also matches the most common - * value of max multiplex returned by servers. We may - * eventually want to use the negotiated value (in case - * future servers can handle more) when we are more confident that - * we will not have problems oveloading the socket with pending - * write data. + * on one socket concurrently. */ -#define CIFS_MAX_REQ 50 +#define CIFS_MAX_REQ 32767 #define RFC1001_NAME_LEN 15 #define RFC1001_NAME_LEN_WITH_NULL (RFC1001_NAME_LEN + 1) @@ -263,6 +258,7 @@ struct TCP_Server_Info { bool session_estab; /* mark when very first sess is established */ u16 dialect; /* dialect index that server chose */ enum securityEnum secType; + bool oplocks:1; /* enable oplocks */ unsigned int maxReq; /* Clients should submit no more */ /* than maxReq distinct unanswered SMBs to the server when using */ /* multiplexed reads or writes */ |