]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commitdiff
[CIFS] Do not send tree disconnect if session is already disconnected
authorSteve French <sfrench@us.ibm.com>
Thu, 25 Jun 2009 00:29:21 +0000 (00:29 +0000)
committerSteve French <sfrench@us.ibm.com>
Thu, 25 Jun 2009 00:29:21 +0000 (00:29 +0000)
Noticed this when tree connect timed out (due to Samba server crash) -
we try to send a tree disconnect for a tid that does not exist
since we don't have a valid tree id yet. This checks that the
session is valid before sending the tree disconnect to handle
this case.

Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/CHANGES
fs/cifs/cifssmb.c

index b48689839428805efd6175eacd0a7396068cdafe..3a9b7a58a51d001464934963ba3df05de50bf96a 100644 (file)
@@ -5,7 +5,7 @@ client generated ones by default (mount option "serverino" turned
 on by default if server supports it).  Add forceuid and forcegid
 mount options (so that when negotiating unix extensions specifying
 which uid mounted does not immediately force the server's reported
-uids to be overridden).
+uids to be overridden).  Add support for scope moutn parm.
 
 Version 1.58
 ------------
index b84c61d5bca419d2ea221484636508f1ddaceaa1..58d65a9a79c3b86e4bd3fd38791526078d417752 100644 (file)
@@ -729,7 +729,7 @@ CIFSSMBTDis(const int xid, struct cifsTconInfo *tcon)
         * the tcon is no longer on the list, so no need to take lock before
         * checking this.
         */
-       if (tcon->need_reconnect)
+       if ((tcon->need_reconnect) || (tcon->ses->need_reconnect))
                return 0;
 
        rc = small_smb_init(SMB_COM_TREE_DISCONNECT, 0, tcon,