diff options
author | Steve French <sfrench@us.ibm.com> | 2008-06-10 17:21:56 -0400 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2008-06-10 17:21:56 -0400 |
commit | dbdbb87636e882042cbe53d5d4eac94206f8db83 (patch) | |
tree | 82814c9b1ea4af85f13a80cbc0723c15323e5d93 /fs | |
parent | 5132861a7a44498ebb18357473f8b8d4cdc70e9f (diff) |
[CIFS] Fix hang in mount when negprot causes server to kill tcp session
Acked-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/cifs/CHANGES | 5 | ||||
-rw-r--r-- | fs/cifs/connect.c | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/fs/cifs/CHANGES b/fs/cifs/CHANGES index 28e3d5c5fcac..1f3465201fdf 100644 --- a/fs/cifs/CHANGES +++ b/fs/cifs/CHANGES | |||
@@ -2,6 +2,11 @@ Version 1.53 | |||
2 | ------------ | 2 | ------------ |
3 | DFS support added (Microsoft Distributed File System client support needed | 3 | DFS support added (Microsoft Distributed File System client support needed |
4 | for referrals which enable a hierarchical name space among servers). | 4 | for referrals which enable a hierarchical name space among servers). |
5 | Disable temporary caching of mode bits to servers which do not support | ||
6 | storing of mode (e.g. Windows servers, when client mounts without cifsacl | ||
7 | mount option) and add new "dynperm" mount option to enable temporary caching | ||
8 | of mode (enable old behavior). Fix hang on mount caused when server crashes | ||
9 | tcp session during negotiate protocol. | ||
5 | 10 | ||
6 | Version 1.52 | 11 | Version 1.52 |
7 | ------------ | 12 | ------------ |
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index d49e274f8eba..e8fa46c7cff2 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c | |||
@@ -653,6 +653,7 @@ multi_t2_fnd: | |||
653 | spin_lock(&GlobalMid_Lock); | 653 | spin_lock(&GlobalMid_Lock); |
654 | server->tcpStatus = CifsExiting; | 654 | server->tcpStatus = CifsExiting; |
655 | spin_unlock(&GlobalMid_Lock); | 655 | spin_unlock(&GlobalMid_Lock); |
656 | wake_up_all(&server->response_q); | ||
656 | 657 | ||
657 | /* don't exit until kthread_stop is called */ | 658 | /* don't exit until kthread_stop is called */ |
658 | set_current_state(TASK_UNINTERRUPTIBLE); | 659 | set_current_state(TASK_UNINTERRUPTIBLE); |