summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorSteve French <smfrench@austin.rr.com>2005-04-29 09:41:11 +0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-29 09:41:11 +0400
commit0cb766ae629c70d53040f85de73db0583eadb233 (patch)
treeb763f4acf57f69b51d00a3a62ad30cb91b02baba /fs
parent31ca3bc3c569f9fe02aae6974ac3a9126f14902f (diff)
downloadlinux-0cb766ae629c70d53040f85de73db0583eadb233.tar.xz
[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
======================
To permit users to ummount directories that they have user mounted (see above),
the utility umount.cifs may be used. It may be invoked directly, or if
-umount.cifs is placed in /sbin, umount -i can invoke the cifs umount helper
+umount.cifs is placed in /sbin, umount can invoke the cifs umount helper
(at least for most versions of the umount utility) for umount of cifs
-mounts. As with mount.cifs, to enable user unmounts umount.cifs must be marked
-as suid (e.g. "chmod +s /sbin/umount.cifs"). For this utility to succeed
-the target path must be a cifs mount, and the uid of the current user must
-match the uid of the user who mounted the resource.
+mounts, unless umount is invoked with -i (which will avoid invoking a umount
+helper). As with mount.cifs, to enable user unmounts umount.cifs must be marked
+as suid (e.g. "chmod +s /sbin/umount.cifs") or equivalent (some distributions
+allow adding entries to a file to the /etc/permissions file to achieve the
+equivalent suid effect). For this utility to succeed the target path
+must be a cifs mount, and the uid of the current user must match the uid
+of the user who mounted the resource.
Also note that the customary way of allowing user mounts and unmounts is
(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:
This has no effect if the server does not support
Unicode on the wire.
nomapchars Do not translate any of these seven characters (default).
+ remount remount the share (often used to change from ro to rw mounts
+ or vice versa)
The mount.cifs mount helper also accepts a few mount options before -o
including:
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)
server->workstation_RFC1001_name);
}
if(rc) {
- set_current_state(TASK_INTERRUPTIBLE);
- schedule_timeout(3 * HZ);
+ msleep(3000);
} else {
atomic_inc(&tcpSesReconnectCount);
spin_lock(&GlobalMid_Lock);