aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorSteve French <smfrench@austin.rr.com>2005-04-29 01:41:11 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-29 01:41:11 -0400
commit0cb766ae629c70d53040f85de73db0583eadb233 (patch)
treeb763f4acf57f69b51d00a3a62ad30cb91b02baba /fs
parent31ca3bc3c569f9fe02aae6974ac3a9126f14902f (diff)
[PATCH] cifs: Do not sleep interruptible after socket connect failure
.. since it can be due to pending kill. Update readme information to better describe cifs umount Signed-off-by: Steve French (sfrench@us.ibm.com) Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/cifs/README15
-rw-r--r--fs/cifs/connect.c3
2 files changed, 11 insertions, 7 deletions
diff --git a/fs/cifs/README b/fs/cifs/README
index bec7b3fc8a72..7b4ac096cd11 100644
--- a/fs/cifs/README
+++ b/fs/cifs/README
@@ -101,12 +101,15 @@ Allowing User Unmounts
101====================== 101======================
102To permit users to ummount directories that they have user mounted (see above), 102To permit users to ummount directories that they have user mounted (see above),
103the utility umount.cifs may be used. It may be invoked directly, or if 103the utility umount.cifs may be used. It may be invoked directly, or if
104umount.cifs is placed in /sbin, umount -i can invoke the cifs umount helper 104umount.cifs is placed in /sbin, umount can invoke the cifs umount helper
105(at least for most versions of the umount utility) for umount of cifs 105(at least for most versions of the umount utility) for umount of cifs
106mounts. As with mount.cifs, to enable user unmounts umount.cifs must be marked 106mounts, unless umount is invoked with -i (which will avoid invoking a umount
107as suid (e.g. "chmod +s /sbin/umount.cifs"). For this utility to succeed 107helper). As with mount.cifs, to enable user unmounts umount.cifs must be marked
108the target path must be a cifs mount, and the uid of the current user must 108as suid (e.g. "chmod +s /sbin/umount.cifs") or equivalent (some distributions
109match the uid of the user who mounted the resource. 109allow adding entries to a file to the /etc/permissions file to achieve the
110equivalent suid effect). For this utility to succeed the target path
111must be a cifs mount, and the uid of the current user must match the uid
112of the user who mounted the resource.
110 113
111Also note that the customary way of allowing user mounts and unmounts is 114Also note that the customary way of allowing user mounts and unmounts is
112(instead of using mount.cifs and unmount.cifs as suid) to add a line 115(instead of using mount.cifs and unmount.cifs as suid) to add a line
@@ -404,6 +407,8 @@ A partial list of the supported mount options follows:
404 This has no effect if the server does not support 407 This has no effect if the server does not support
405 Unicode on the wire. 408 Unicode on the wire.
406 nomapchars Do not translate any of these seven characters (default). 409 nomapchars Do not translate any of these seven characters (default).
410 remount remount the share (often used to change from ro to rw mounts
411 or vice versa)
407 412
408The mount.cifs mount helper also accepts a few mount options before -o 413The mount.cifs mount helper also accepts a few mount options before -o
409including: 414including:
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index ac1f970e5369..e568cc47a7f9 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -178,8 +178,7 @@ cifs_reconnect(struct TCP_Server_Info *server)
178 server->workstation_RFC1001_name); 178 server->workstation_RFC1001_name);
179 } 179 }
180 if(rc) { 180 if(rc) {
181 set_current_state(TASK_INTERRUPTIBLE); 181 msleep(3000);
182 schedule_timeout(3 * HZ);
183 } else { 182 } else {
184 atomic_inc(&tcpSesReconnectCount); 183 atomic_inc(&tcpSesReconnectCount);
185 spin_lock(&GlobalMid_Lock); 184 spin_lock(&GlobalMid_Lock);