[PATCH] cifs: Missing initialization for largeBuf flag left out of previous changeset
authorSteve French <smfrench@austin.rr.com>
Fri, 29 Apr 2005 05:41:07 +0000 (22:41 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Fri, 29 Apr 2005 05:41:07 +0000 (22:41 -0700)
Signed-off-by: Steve French (sfrench@us.ibm.com)
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fs/cifs/CHANGES
fs/cifs/README
fs/cifs/connect.c

index de63a0e3f4ce3960f1f6564f73f496533d4cdc24..be3a57509e60e8dd6aee31fcd5b409a7fd104c15 100644 (file)
@@ -11,7 +11,11 @@ cifs_close. Add mount option for remapping reserved characters in
 filenames (also allow recognizing files with created by SFU which have any
 of these seven reserved characters, except backslash, to be recognized).
 Fix invalid transact2 message (we were sometimes trying to interpret
-oplock breaks as SMB responses).
+oplock breaks as SMB responses). Add ioctl for checking that the
+current uid matches the uid of the mounter (needed by umount.cifs).
+Reduce the number of large buffer allocations in cifs response processing
+(significantly reduces memory pressure under heavy stress with multiple
+processes accessing the same server at the same time).
 
 Version 1.31
 ------------
index 93900fc4adaa7a9f426d68b78360fae5a94b45ee..48c37a6e9c3f9520389b68a1587a1dfbcb566206 100644 (file)
@@ -75,7 +75,7 @@ Allowing User Mounts
 ====================
 To permit users to mount and unmount over directories they own is possible
 with the cifs vfs.  A way to enable such mounting is to mark the mount.cifs
-utility as suid (e.g. "chmod +s /sbin/mount/cifs). To enable users to 
+utility as suid (e.g. "chmod +s /sbin/mount.cifs). To enable users to 
 umount shares they mount requires
 1) mount.cifs version 1.4 or later
 2) an entry for the share in /etc/fstab indicating that a user may
@@ -97,6 +97,23 @@ mount.cifs with the following flag:
 There is a corresponding manual page for cifs mounting in the Samba 3.0 and
 later source tree in docs/manpages/mount.cifs.8 
 
+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
+(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.
+
+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
+to the file /etc/fstab for each //server/share you wish to mount, but
+this can become unwieldy when potential mount targets include many
+or  unpredictable UNC names.
+
 Samba Considerations 
 ==================== 
 To get the maximum benefit from the CIFS VFS, we recommend using a server that 
index 390f22fa343908003b4241c3d99e7bde2ea84ba6..c999583d11b09a94481bb67508a708fd5bc353fd 100644 (file)
@@ -396,6 +396,10 @@ cifs_demultiplex_thread(struct TCP_Server_Info *server)
                                                    smb_buffer;
                                                mid_entry->midState =
                                                    MID_RESPONSE_RECEIVED;
+                                               if(isLargeBuf)
+                                                       mid_entry->largeBuf = 1;
+                                               else
+                                                       mid_entry->largeBuf = 0;
                                        }
                                }
                                spin_unlock(&GlobalMid_Lock);