Introduce SMB2 Kconfig option
Steve French [Thu, 24 Feb 2011 17:58:00 +0000 (17:58 +0000)]
SMB2 is the followon to the CIFS (and SMB) protocols
and the default for Windows since Windows Vista, and also
now implemented by various non-Windows servers.  SMB2
is more secure, has various performance advantages, including
larger i/o sizes, flow control, better caching model and more.
SMB2 also resolves some scalability limits in the cifs
protocol and adds many new features while being much
simpler (only a few dozen commands instead of hundreds)
and since the protocol is clearer it is
also more consistently implemented across servers
and thus easier to optimize.

After much discussion with Jeff Layton, Jeremy Allison
and others at Connectathon, we decided to move the smb2
code from a distinct .ko and fstype into distinct
C files that optionally build in cifs.ko.  As a result
the Kconfig gets simpler.

To avoid destabilizing cifs, the smb2 code is going
to be moved into its own experimental CONFIG_CIFS_SMB2 ifdef
as it is merged and rereviewed.  The changes to stable
cifs (builds with the smb2 ifdef off) are expected to be
fairly small.

Reviewed-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>

fs/cifs/Kconfig

index 7cb0f7f..2a492aa 100644 (file)
@@ -152,6 +152,26 @@ config CIFS_ACL
            Allows to fetch CIFS/NTFS ACL from the server.  The DACL blob
            is handed over to the application/caller.
 
+config CIFS_SMB2
+       bool "SMB2 network file system support (EXPERIMENTAL)"
+       depends on EXPERIMENTAL && INET && BROKEN
+       select NLS
+       select KEYS
+       select FSCACHE
+       select DNS_RESOLVER
+
+       help
+         This enables experimental support for the SMB2 (Server Message Block
+         version 2) protocol. The SMB2 protocol is the successor to the
+         popular CIFS and SMB network file sharing protocols. SMB2 is the
+         native file sharing mechanism for recent versions of Windows
+         operating systems (since Vista).  SMB2 enablement will eventually
+         allow users better performance, security and features, than would be
+         possible with cifs. Note that smb2 mount options also are simpler
+         (compared to cifs) due to protocol improvements.
+
+         Unless you are a developer or tester, say N.
+
 config CIFS_EXPERIMENTAL
          bool "CIFS Experimental Features (EXPERIMENTAL)"
          depends on CIFS && EXPERIMENTAL