diff options
| author | Steve French <sfrench@us.ibm.com> | 2009-06-24 20:29:21 -0400 |
|---|---|---|
| committer | Steve French <sfrench@us.ibm.com> | 2009-06-24 20:29:21 -0400 |
| commit | 268875b9d1dd1bf0b523c59e736da9bc20c8ce1f (patch) | |
| tree | 9d2a55c5847aadfbfc1c50617dc469dd40716900 | |
| parent | 361ea1ae5451040cd254eee0b6df64581080b2cc (diff) | |
[CIFS] Do not send tree disconnect if session is already disconnected
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>
| -rw-r--r-- | fs/cifs/CHANGES | 2 | ||||
| -rw-r--r-- | fs/cifs/cifssmb.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/fs/cifs/CHANGES b/fs/cifs/CHANGES index b48689839428..3a9b7a58a51d 100644 --- a/fs/cifs/CHANGES +++ b/fs/cifs/CHANGES | |||
| @@ -5,7 +5,7 @@ client generated ones by default (mount option "serverino" turned | |||
| 5 | on by default if server supports it). Add forceuid and forcegid | 5 | on by default if server supports it). Add forceuid and forcegid |
| 6 | mount options (so that when negotiating unix extensions specifying | 6 | mount options (so that when negotiating unix extensions specifying |
| 7 | which uid mounted does not immediately force the server's reported | 7 | which uid mounted does not immediately force the server's reported |
| 8 | uids to be overridden). | 8 | uids to be overridden). Add support for scope moutn parm. |
| 9 | 9 | ||
| 10 | Version 1.58 | 10 | Version 1.58 |
| 11 | ------------ | 11 | ------------ |
diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c index b84c61d5bca4..58d65a9a79c3 100644 --- a/fs/cifs/cifssmb.c +++ b/fs/cifs/cifssmb.c | |||
| @@ -729,7 +729,7 @@ CIFSSMBTDis(const int xid, struct cifsTconInfo *tcon) | |||
| 729 | * the tcon is no longer on the list, so no need to take lock before | 729 | * the tcon is no longer on the list, so no need to take lock before |
| 730 | * checking this. | 730 | * checking this. |
| 731 | */ | 731 | */ |
| 732 | if (tcon->need_reconnect) | 732 | if ((tcon->need_reconnect) || (tcon->ses->need_reconnect)) |
| 733 | return 0; | 733 | return 0; |
| 734 | 734 | ||
| 735 | rc = small_smb_init(SMB_COM_TREE_DISCONNECT, 0, tcon, | 735 | rc = small_smb_init(SMB_COM_TREE_DISCONNECT, 0, tcon, |
