Commit 731ddc09 authored by Steve French's avatar Steve French

cifs: documentation cleanup

Various minor changes to the admin-guide for cifs
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent 201023c5
...@@ -5,10 +5,10 @@ Authors ...@@ -5,10 +5,10 @@ Authors
Original Author Original Author
--------------- ---------------
Steve French (sfrench@samba.org) Steve French (smfrench@gmail.com, sfrench@samba.org)
The author wishes to express his appreciation and thanks to: The author wishes to express his appreciation and thanks to:
Andrew Tridgell (Samba team) for his early suggestions about smb/cifs VFS Andrew Tridgell (Samba team) for his early suggestions about SMB/CIFS VFS
improvements. Thanks to IBM for allowing me time and test resources to pursue improvements. Thanks to IBM for allowing me time and test resources to pursue
this project, to Jim McDonough from IBM (and the Samba Team) for his help, to this project, to Jim McDonough from IBM (and the Samba Team) for his help, to
the IBM Linux JFS team for explaining many esoteric Linux filesystem features. the IBM Linux JFS team for explaining many esoteric Linux filesystem features.
...@@ -51,7 +51,7 @@ Patch Contributors ...@@ -51,7 +51,7 @@ Patch Contributors
- Ronnie Sahlberg (for SMB3 xattr work, bug fixes, and lots of great work on compounding) - Ronnie Sahlberg (for SMB3 xattr work, bug fixes, and lots of great work on compounding)
- Shirish Pargaonkar (for many ACL patches over the years) - Shirish Pargaonkar (for many ACL patches over the years)
- Sachin Prabhu (many bug fixes, including for reconnect, copy offload and security) - Sachin Prabhu (many bug fixes, including for reconnect, copy offload and security)
- Paulo Alcantara - Paulo Alcantara (for some excellent work in DFS, and in booting from SMB3)
- Long Li (some great work on RDMA, SMB Direct) - Long Li (some great work on RDMA, SMB Direct)
......
...@@ -3,6 +3,7 @@ Changes ...@@ -3,6 +3,7 @@ Changes
======= =======
See https://wiki.samba.org/index.php/LinuxCIFSKernel for summary See https://wiki.samba.org/index.php/LinuxCIFSKernel for summary
information (that may be easier to read than parsing the output of information about fixes/improvements to CIFS/SMB2/SMB3 support (changes
"git log fs/cifs") about fixes/improvements to CIFS/SMB2/SMB3 support (changes
to cifs.ko module) by kernel version (and cifs internal module version). to cifs.ko module) by kernel version (and cifs internal module version).
This may be easier to read than parsing the output of "git log fs/cifs"
by release.
...@@ -7,19 +7,19 @@ Introduction ...@@ -7,19 +7,19 @@ Introduction
protocol which was the successor to the Server Message Block protocol which was the successor to the Server Message Block
(SMB) protocol, the native file sharing mechanism for most early (SMB) protocol, the native file sharing mechanism for most early
PC operating systems. New and improved versions of CIFS are now PC operating systems. New and improved versions of CIFS are now
called SMB2 and SMB3. Use of SMB3 (and later, including SMB3.1.1) called SMB2 and SMB3. Use of SMB3 (and later, including SMB3.1.1
is strongly preferred over using older dialects like CIFS due to the most current dialect) is strongly preferred over using older
security reasons. All modern dialects, including the most recent, dialects like CIFS due to security reasons. All modern dialects,
SMB3.1.1 are supported by the CIFS VFS module. The SMB3 protocol including the most recent, SMB3.1.1, are supported by the CIFS VFS
is implemented and supported by all major file servers module. The SMB3 protocol is implemented and supported by all major
such as all modern versions of Windows (including Windows 2016 file servers such as Windows (including Windows 2019 Server), as
Server), as well as by Samba (which provides excellent well as by Samba (which provides excellent CIFS/SMB2/SMB3 server
CIFS/SMB2/SMB3 server support and tools for Linux and many other support and tools for Linux and many other operating systems).
operating systems). Apple systems also support SMB3 well, as Apple systems also support SMB3 well, as do most Network Attached
do most Network Attached Storage vendors, so this network Storage vendors, so this network filesystem client can mount to a
filesystem client can mount to a wide variety of systems. wide variety of systems. It also supports mounting to the cloud
It also supports mounting to the cloud (for example (for example Microsoft Azure), including the necessary security
Microsoft Azure), including the necessary security features. features.
The intent of this module is to provide the most advanced network The intent of this module is to provide the most advanced network
file system function for SMB3 compliant servers, including advanced file system function for SMB3 compliant servers, including advanced
...@@ -27,8 +27,8 @@ Introduction ...@@ -27,8 +27,8 @@ Introduction
POSIX compliance, secure per-user session establishment, encryption, POSIX compliance, secure per-user session establishment, encryption,
high performance safe distributed caching (leases/oplocks), optional packet high performance safe distributed caching (leases/oplocks), optional packet
signing, large files, Unicode support and other internationalization signing, large files, Unicode support and other internationalization
improvements. Since both Samba server and this filesystem client support improvements. Since both Samba server and this filesystem client support the
the CIFS Unix extensions (and in the future SMB3 POSIX extensions), CIFS Unix extensions, and the Linux client also suppors SMB3 POSIX extensions,
the combination can provide a reasonable alternative to other network and the combination can provide a reasonable alternative to other network and
cluster file systems for fileserving in some Linux to Linux environments, cluster file systems for fileserving in some Linux to Linux environments,
not just in Linux to Windows (or Linux to Mac) environments. not just in Linux to Windows (or Linux to Mac) environments.
......
...@@ -13,24 +13,26 @@ is a partial list of the known problems and missing features: ...@@ -13,24 +13,26 @@ is a partial list of the known problems and missing features:
a) SMB3 (and SMB3.1.1) missing optional features: a) SMB3 (and SMB3.1.1) missing optional features:
- multichannel (started), integration with RDMA - multichannel (partially integrated), integration of multichannel with RDMA
- directory leases (improved metadata caching), started (root dir only) - directory leases (improved metadata caching). Currently only implemented for root dir
- T10 copy offload ie "ODX" (copy chunk, and "Duplicate Extents" ioctl - T10 copy offload ie "ODX" (copy chunk, and "Duplicate Extents" ioctl
currently the only two server side copy mechanisms supported) currently the only two server side copy mechanisms supported)
b) improved sparse file support (fiemap and SEEK_HOLE are implemented b) improved sparse file support (fiemap and SEEK_HOLE are implemented
but additional features would be supportable by the protocol). but additional features would be supportable by the protocol such
as FALLOC_FL_COLLAPSE_RANGE and FALLOC_FL_INSERT_RANGE)
c) Directory entry caching relies on a 1 second timer, rather than c) Directory entry caching relies on a 1 second timer, rather than
using Directory Leases, currently only the root file handle is cached longer using Directory Leases, currently only the root file handle is cached longer
by leveraging Directory Leases
d) quota support (needs minor kernel change since quota calls d) quota support (needs minor kernel change since quota calls otherwise
to make it to network filesystems or deviceless filesystems) won't make it to network filesystems or deviceless filesystems).
e) Additional use cases can be optimized to use "compounding" (e.g. e) Additional use cases can be optimized to use "compounding" (e.g.
open/query/close and open/setinfo/close) to reduce the number of open/query/close and open/setinfo/close) to reduce the number of
roundtrips to the server and improve performance. Various cases roundtrips to the server and improve performance. Various cases
(stat, statfs, create, unlink, mkdir) already have been improved by (stat, statfs, create, unlink, mkdir, xattrs) already have been improved by
using compounding but more can be done. In addition we could using compounding but more can be done. In addition we could
significantly reduce redundant opens by using deferred close (with significantly reduce redundant opens by using deferred close (with
handle caching leases) and better using reference counters on file handle caching leases) and better using reference counters on file
...@@ -60,7 +62,9 @@ k) Add tools to take advantage of more smb3 specific ioctls and features ...@@ -60,7 +62,9 @@ k) Add tools to take advantage of more smb3 specific ioctls and features
metadata attributes easier from tools (e.g. extending what was done metadata attributes easier from tools (e.g. extending what was done
in smb-info tool). in smb-info tool).
l) encrypted file support l) encrypted file support (currently the attribute showing the file is
encrypted on the server is reported, but changing the attribute is not
supported).
m) improved stats gathering tools (perhaps integration with nfsometer?) m) improved stats gathering tools (perhaps integration with nfsometer?)
to extend and make easier to use what is currently in /proc/fs/cifs/Stats to extend and make easier to use what is currently in /proc/fs/cifs/Stats
...@@ -69,14 +73,13 @@ n) Add support for claims based ACLs ("DAC") ...@@ -69,14 +73,13 @@ n) Add support for claims based ACLs ("DAC")
o) mount helper GUI (to simplify the various configuration options on mount) o) mount helper GUI (to simplify the various configuration options on mount)
p) Add support for witness protocol (perhaps ioctl to cifs.ko from user space p) Expand support for witness protocol to allow for notification of share
tool listening on witness protocol RPC) to allow for notification of share move, and server network adapter changes. Currently only notifications by
move, server failover, and server adapter changes. And also improve other the witness protocol for server move is supported by the Linux client.
failover scenarios, e.g. when client knows multiple DFS entries point to
different servers, and the server we are connected to has gone down.
q) Allow mount.cifs to be more verbose in reporting errors with dialect q) Allow mount.cifs to be more verbose in reporting errors with dialect
or unsupported feature errors. or unsupported feature errors. This would now be easier due to the
implementation of the new mount API.
r) updating cifs documentation, and user guide. r) updating cifs documentation, and user guide.
...@@ -87,11 +90,10 @@ t) split cifs and smb3 support into separate modules so legacy (and less ...@@ -87,11 +90,10 @@ t) split cifs and smb3 support into separate modules so legacy (and less
secure) CIFS dialect can be disabled in environments that don't need it secure) CIFS dialect can be disabled in environments that don't need it
and simplify the code. and simplify the code.
v) POSIX Extensions for SMB3.1.1 (started, create and mkdir support added v) Additional testing of POSIX Extensions for SMB3.1.1
so far).
w) Add support for additional strong encryption types, and additional spnego w) Add support for additional strong encryption types, and additional spnego
authentication mechanisms (see MS-SMB2) authentication mechanisms (see MS-SMB2). GCM-256 is now partially implemented.
x) Finish support for SMB3.1.1 compression x) Finish support for SMB3.1.1 compression
......
...@@ -83,7 +83,7 @@ and encrypted shares and stronger signing and authentication algorithms. ...@@ -83,7 +83,7 @@ and encrypted shares and stronger signing and authentication algorithms.
There are additional mount options that may be helpful for SMB3 to get There are additional mount options that may be helpful for SMB3 to get
improved POSIX behavior (NB: can use vers=3.0 to force only SMB3, never 2.1): improved POSIX behavior (NB: can use vers=3.0 to force only SMB3, never 2.1):
``mfsymlinks`` and ``cifsacl`` and ``idsfromsid`` ``mfsymlinks`` and either ``cifsacl`` or ``modefromsid`` (usually with ``idsfromsid``)
Allowing User Mounts Allowing User Mounts
==================== ====================
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment