vserver 1.9.5.x5
[linux-2.6.git] / fs / cifs / README
index acf1448..1643ef5 100644 (file)
@@ -64,6 +64,13 @@ trivially built from Samba 3.0 or later source e.g. by executing:
 
        gcc samba/source/client/mount.cifs.c -o mount.cifs
 
+If cifs is built as a module, then the size and number of network buffers
+and maximum number of simultaneous requests to one server can be configured.
+Changing these from their defaults is not recommended. By executing modinfo
+       modinfo kernel/fs/cifs/cifs.ko
+on kernel/fs/cifs/cifs.ko the list of configuration changes that can be made
+at module initialization time (by running insmod cifs.ko) can be seen.
+
 Allowing User Mounts
 ====================
 To permit users to mount and unmount over directories they own is possible
@@ -115,11 +122,20 @@ cifs client, and that EA support is present in later versions of Samba (e.g.
 3.0.6 and later (also EA support works in all versions of Windows, at least to
 shares on NTFS filesystems).  Extended Attribute (xattr) support is an optional
 feature of most Linux filesystems which may require enabling via
-make menuconfig
+make menuconfig.
+
+The CIFS client can get and set POSIX ACLs (getfacl, setfacl) to Samba servers
+version 3.10 and later.  Setting POSIX ACLs requires enabling both XATTR and 
+then POSIX support in the CIFS configuration options when building the cifs
+module.
  
 Some administrators may want to change Samba's smb.conf "map archive" and 
-"create mask" parameters from the default.  Creating special devices (mknod) 
-remotely may require specifying a mkdev function to Samba if you are not using 
+"create mask" parameters from the default.  Unless the create mask is changed
+newly created files can end up with an unnecessarily restrictive default mode,
+which may not be what you want, although if the CIFS Unix extensions are
+enabled on the server and client, subsequent setattr calls (e.g. chmod) can
+fix the mode.  Note that creating special devices (mknod) remotely 
+may require specifying a mkdev function to Samba if you are not using 
 Samba 3.0.6 or later.  For more information on these see the manual pages
 ("man smb.conf") on the Samba server system.  Note that the cifs vfs,
 unlike the smbfs vfs, does not read the smb.conf on the client system 
@@ -191,7 +207,20 @@ Servers must support the NTLM SMB dialect (which is the most recent, supported
 by Samba and Windows NT version 4, 2000 and XP and many other SMB/CIFS servers) 
 Servers must support either "pure-TCP" (port 445 TCP/IP CIFS connections) or RFC 
 1001/1002 support for "Netbios-Over-TCP/IP." Neither of these is likely to be a 
-problem as most servers support this.  IPv6 support is planned for the future.  
+problem as most servers support this.  IPv6 support is planned for the future,
+and is almost complete.
+
+Valid filenames differ between Windows and Linux.  Windows typically restricts
+filenames which contain certain reserved characters (e.g.the character : 
+which is used to delimit the beginning of a stream name by Windows), while
+Linux allows a slightly wider set of valid characters in filenames. Windows
+servers can remap such characters when an explicit mapping is specified in
+the Server's registry.  Samba starting with version 3.10 will allow such 
+filenames (ie those which contain valid Linux characters, which normally
+would be forbidden for Windows/CIFS semantics) as long as the server is
+configured for Unix Extensions (and the client has not disabled
+/proc/fs/cifs/LinuxExtensionsEnabled).
+  
 
 CIFS VFS Mount Options
 ======================
@@ -266,6 +295,10 @@ A partial list of the supported mount options follows:
                If you do not trust the servers in your network (your mount
                targets) it is recommended that you specify this option for
                greater security.
+  exec         Permit execution of binaries on the mount.
+  noexec       Do not permit execution of binaries on the mount.
+  dev          Recognize block devices on the remote mount.
+  nodev                Do not recognize devices on the remote mount.
   suid          Allow remote files on this mountpoint with suid enabled to 
                be executed (default for mounts when executed as root,
                nosuid is default for user mounts).
@@ -292,6 +325,22 @@ A partial list of the supported mount options follows:
                Note that this does not affect the normal ACL check on the
                target machine done by the server software (of the server
                ACL against the user name provided at mount time).
+  serverino    Use servers inode numbers instead of generating automatically
+               incrementing inode numbers on the client.  Although this will
+               make it easier to spot hardlinked files (as they will have
+               the same inode numbers) and inode numbers may be persistent,
+               note that the server does not guarantee that the inode numbers
+               are unique if multiple server side mounts are exported under a
+               single share (since inode numbers on the servers might not
+               be unique if multiple filesystems are mounted under the same
+               shared higher level directory).  Note that this requires that
+               the server support the CIFS Unix Extensions as other servers
+               do not return a unique IndexNumber on SMB FindFirst (most
+               servers return zero as the IndexNumber).  Parameter has no
+               effect to Windows servers and others which do not support the
+               CIFS Unix Extensions.
+  noserverino   Client generates inode numbers (rather than using the actual one
+               from the server) by default.
   setuids       If the CIFS Unix extensions are negotiated with the server
                the client will attempt to set the effective uid and gid of
                the local process on newly created files, directories, and
@@ -304,6 +353,23 @@ A partial list of the supported mount options follows:
                the client) set the uid and gid is the default. This
                parameter has no effect if the CIFS Unix Extensions are not
                negotiated.
+  netbiosname   When mounting to servers via port 139, specifies the RFC1001
+               source name to use to represent the client netbios machine 
+               name when doing the RFC1001 netbios session initialize.
+  direct        Do not do inode data caching on files opened on this mount.
+               This precludes mmaping files on this mount. In some cases
+               with fast networks and little or no caching benefits on the
+               client (e.g. when the application is doing large sequential
+               reads bigger than page size without rereading the same data) 
+               this can provide better performance than the default
+               behavior which caches reads (reaadahead) and writes 
+               (writebehind) through the local Linux client pagecache 
+               if oplock (caching token) is granted and held. Note that
+               direct allows write operations larger than page size
+               to be sent to the server.
+  acl          Allow setfacl and getfacl to manage posix ACLs if server
+               supports them.  (default)
+  noacl        Do not allow setfacl and getfacl calls on this mount
                
 The mount.cifs mount helper also accepts a few mount options before -o
 including:
@@ -375,14 +441,14 @@ and for more extensive tracing including the start of smb requests and responses
        echo 1 > /proc/fs/cifs/traceSMB
 
 Two other experimental features are under development and to test 
-require enabling an ifdef (e.g. by  adding "#define CIFS_FCNTL" in cifsglob.h)
+require enabling CONFIG_CIFS_EXPERIMENTAL
 
-       CONFIG_CIFS_QUOTA
+       More efficient write operations and SMB buffer handling
 
-       CONFIG_CIFS_FCNTL  (fcntl needed for support of directory change 
+       DNOTIFY fcntl: needed for support of directory change 
                            notification and perhaps later for file leases)
 
-Per share (per client mount) statistics are available in /proc/fs/cifs/DebugData
+Per share (per client mount) statistics are available in /proc/fs/cifs/Stats
 if the kernel was configured with cifs statistics enabled.  The statistics
 represent the number of successful (ie non-zero return code from the server) 
 SMB responses to some of the more common commands (open, delete, mkdir etc.).