summaryrefslogtreecommitdiffstats
path: root/fs/cifs
diff options
context:
space:
mode:
authorSteve French2008-06-10 23:21:56 +0200
committerSteve French2008-06-10 23:21:56 +0200
commitdbdbb87636e882042cbe53d5d4eac94206f8db83 (patch)
tree82814c9b1ea4af85f13a80cbc0723c15323e5d93 /fs/cifs
parentdisable most mode changes on non-unix/non-cifsacl mounts (diff)
downloadkernel-qcow2-linux-dbdbb87636e882042cbe53d5d4eac94206f8db83.tar.gz
kernel-qcow2-linux-dbdbb87636e882042cbe53d5d4eac94206f8db83.tar.xz
kernel-qcow2-linux-dbdbb87636e882042cbe53d5d4eac94206f8db83.zip
[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/cifs')
-rw-r--r--fs/cifs/CHANGES5
-rw-r--r--fs/cifs/connect.c1
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
------------
DFS support added (Microsoft Distributed File System client support needed
for referrals which enable a hierarchical name space among servers).
+Disable temporary caching of mode bits to servers which do not support
+storing of mode (e.g. Windows servers, when client mounts without cifsacl
+mount option) and add new "dynperm" mount option to enable temporary caching
+of mode (enable old behavior). Fix hang on mount caused when server crashes
+tcp session during negotiate protocol.
Version 1.52
------------
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:
spin_lock(&GlobalMid_Lock);
server->tcpStatus = CifsExiting;
spin_unlock(&GlobalMid_Lock);
+ wake_up_all(&server->response_q);
/* don't exit until kthread_stop is called */
set_current_state(TASK_UNINTERRUPTIBLE);