[CIFS] Always match oplock break (cache notification) to the right tcp
authorSteve French <sfrench@us.ibm.com>
Sun, 5 Mar 2006 03:39:55 +0000 (03:39 +0000)
committerSteve French <sfrench@us.ibm.com>
Sun, 5 Mar 2006 03:39:55 +0000 (03:39 +0000)
commite77e6f3be93763ef88ccbaa9e0ebda5360d92f7c
tree35260c1d1968c448af77c267814d925d3c62f475
parent501f74f29498543c27f4f9697f5c1e980dd2de0d
[CIFS] Always match oplock break (cache notification) to the right tcp
session when multiply mounted.

Fixes slow response when cifs client is mounted to shares on multiple
servers and oplock break occurs (usually due to attempt to multiply open a
file).  When treeids on mutiple mounted shares match and we find the wrong
match first, we searched for the wrong cached files to send oplock break
response for which usually meant that no matching file was found and thus
the server would have to timeout the notification.  Oplock break timeout is
about 20 seconds on some servers so this could cause significantly slower
performance on file open calls in a few cases (in particular when multiple
shares are mounted from multiple servers, tree ids match, and we have a
cached file which is later opened multiple times).  This was the most
important of the bugs that was found and fixed at Connectathon
(interoperability testing event) this week.

Acked-by: Shaggy (shaggy@austin.ibm.com)
Signed-off-by: Steve French (sfrench@us.ibm.com)
fs/cifs/cifsproto.h
fs/cifs/connect.c
fs/cifs/misc.c