mirror of https://gitee.com/openkylin/linux.git
cifs: documentation cleanup
Various minor changes to the admin-guide for cifs Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
201023c5b2
commit
731ddc09c2
|
@ -5,10 +5,10 @@ Authors
|
|||
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:
|
||||
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
|
||||
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.
|
||||
|
@ -51,7 +51,7 @@ Patch Contributors
|
|||
- Ronnie Sahlberg (for SMB3 xattr work, bug fixes, and lots of great work on compounding)
|
||||
- Shirish Pargaonkar (for many ACL patches over the years)
|
||||
- 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)
|
||||
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ Changes
|
|||
=======
|
||||
|
||||
See https://wiki.samba.org/index.php/LinuxCIFSKernel for summary
|
||||
information (that may be easier to read than parsing the output of
|
||||
"git log fs/cifs") about fixes/improvements to CIFS/SMB2/SMB3 support (changes
|
||||
information about fixes/improvements to CIFS/SMB2/SMB3 support (changes
|
||||
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
|
|||
protocol which was the successor to the Server Message Block
|
||||
(SMB) protocol, the native file sharing mechanism for most early
|
||||
PC operating systems. New and improved versions of CIFS are now
|
||||
called SMB2 and SMB3. Use of SMB3 (and later, including SMB3.1.1)
|
||||
is strongly preferred over using older dialects like CIFS due to
|
||||
security reasons. All modern dialects, including the most recent,
|
||||
SMB3.1.1 are supported by the CIFS VFS module. The SMB3 protocol
|
||||
is implemented and supported by all major file servers
|
||||
such as all modern versions of Windows (including Windows 2016
|
||||
Server), as well as by Samba (which provides excellent
|
||||
CIFS/SMB2/SMB3 server support and tools for Linux and many other
|
||||
operating systems). Apple systems also support SMB3 well, as
|
||||
do most Network Attached Storage vendors, so this network
|
||||
filesystem client can mount to a wide variety of systems.
|
||||
It also supports mounting to the cloud (for example
|
||||
Microsoft Azure), including the necessary security features.
|
||||
called SMB2 and SMB3. Use of SMB3 (and later, including SMB3.1.1
|
||||
the most current dialect) is strongly preferred over using older
|
||||
dialects like CIFS due to security reasons. All modern dialects,
|
||||
including the most recent, SMB3.1.1, are supported by the CIFS VFS
|
||||
module. The SMB3 protocol is implemented and supported by all major
|
||||
file servers such as Windows (including Windows 2019 Server), as
|
||||
well as by Samba (which provides excellent CIFS/SMB2/SMB3 server
|
||||
support and tools for Linux and many other operating systems).
|
||||
Apple systems also support SMB3 well, as do most Network Attached
|
||||
Storage vendors, so this network filesystem client can mount to a
|
||||
wide variety of systems. It also supports mounting to the cloud
|
||||
(for example Microsoft Azure), including the necessary security
|
||||
features.
|
||||
|
||||
The intent of this module is to provide the most advanced network
|
||||
file system function for SMB3 compliant servers, including advanced
|
||||
|
@ -27,8 +27,8 @@ Introduction
|
|||
POSIX compliance, secure per-user session establishment, encryption,
|
||||
high performance safe distributed caching (leases/oplocks), optional packet
|
||||
signing, large files, Unicode support and other internationalization
|
||||
improvements. Since both Samba server and this filesystem client support
|
||||
the CIFS Unix extensions (and in the future SMB3 POSIX extensions),
|
||||
improvements. Since both Samba server and this filesystem client support the
|
||||
CIFS Unix extensions, and the Linux client also suppors SMB3 POSIX extensions,
|
||||
the combination can provide a reasonable alternative to other network and
|
||||
cluster file systems for fileserving in some Linux to Linux 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:
|
|||
|
||||
a) SMB3 (and SMB3.1.1) missing optional features:
|
||||
|
||||
- multichannel (started), integration with RDMA
|
||||
- directory leases (improved metadata caching), started (root dir only)
|
||||
- multichannel (partially integrated), integration of multichannel with RDMA
|
||||
- directory leases (improved metadata caching). Currently only implemented for root dir
|
||||
- T10 copy offload ie "ODX" (copy chunk, and "Duplicate Extents" ioctl
|
||||
currently the only two server side copy mechanisms supported)
|
||||
|
||||
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
|
||||
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
|
||||
to make it to network filesystems or deviceless filesystems)
|
||||
d) quota support (needs minor kernel change since quota calls otherwise
|
||||
won't make it to network filesystems or deviceless filesystems).
|
||||
|
||||
e) Additional use cases can be optimized to use "compounding" (e.g.
|
||||
open/query/close and open/setinfo/close) to reduce the number of
|
||||
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
|
||||
significantly reduce redundant opens by using deferred close (with
|
||||
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
|
|||
metadata attributes easier from tools (e.g. extending what was done
|
||||
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?)
|
||||
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")
|
|||
|
||||
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
|
||||
tool listening on witness protocol RPC) to allow for notification of share
|
||||
move, server failover, and server adapter changes. And also improve other
|
||||
failover scenarios, e.g. when client knows multiple DFS entries point to
|
||||
different servers, and the server we are connected to has gone down.
|
||||
p) Expand support for witness protocol to allow for notification of share
|
||||
move, and server network adapter changes. Currently only notifications by
|
||||
the witness protocol for server move is supported by the Linux client.
|
||||
|
||||
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.
|
||||
|
||||
|
@ -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
|
||||
and simplify the code.
|
||||
|
||||
v) POSIX Extensions for SMB3.1.1 (started, create and mkdir support added
|
||||
so far).
|
||||
v) Additional testing of POSIX Extensions for SMB3.1.1
|
||||
|
||||
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
|
||||
|
||||
|
|
|
@ -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
|
||||
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
|
||||
====================
|
||||
|
|
Loading…
Reference in New Issue