123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- Version 2.11 September 13, 2017
- A Partial List of Missing Features
- ==================================
- Contributions are welcome. There are plenty of opportunities
- for visible, important contributions to this module. Here
- is a partial list of the known problems and missing features:
- a) SMB3 (and SMB3.02) missing optional features:
- - multichannel (started), integration with RDMA
- - directory leases (improved metadata caching), started (root dir only)
- - 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
- c) Directory entry caching relies on a 1 second timer, rather than
- using Directory Leases, currently only the root file handle is cached longer
- d) quota support (needs minor kernel change since quota calls
- to make it to network filesystems or deviceless filesystems)
- e) Compounding (in progress) to reduce number of roundtrips, and also
- better optimize open to reduce redundant opens (using reference counts more).
- f) Finish inotify support so kde and gnome file list windows
- will autorefresh (partially complete by Asser). Needs minor kernel
- vfs change to support removing D_NOTIFY on a file.
- g) Add GUI tool to configure /proc/fs/cifs settings and for display of
- the CIFS statistics (started)
- h) implement support for security and trusted categories of xattrs
- (requires minor protocol extension) to enable better support for SELINUX
- i) Add support for tree connect contexts (see MS-SMB2) a new SMB3.1.1 protocol
- feature (may be especially useful for virtualization).
- j) Create UID mapping facility so server UIDs can be mapped on a per
- mount or a per server basis to client UIDs or nobody if no mapping
- exists. Also better integration with winbind for resolving SID owners
- k) Add tools to take advantage of more smb3 specific ioctls and features
- (passthrough ioctl/fsctl for sending various SMB3 fsctls to the server
- is in progress)
- l) encrypted file support
- m) improved stats gathering, tools (perhaps integration with nfsometer?)
- n) allow setting more NTFS/SMB3 file attributes remotely (currently limited to compressed
- file attribute via chflags) and improve user space tools for managing and
- viewing them.
- 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.
- q) Allow mount.cifs to be more verbose in reporting errors with dialect
- or unsupported feature errors.
- r) updating cifs documentation, and user guide.
- s) Addressing bugs found by running a broader set of xfstests in standard
- file system xfstest suite.
- 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).
- KNOWN BUGS
- ====================================
- See http://bugzilla.samba.org - search on product "CifsVFS" for
- current bug list. Also check http://bugzilla.kernel.org (Product = File System, Component = CIFS)
- 1) existing symbolic links (Windows reparse points) are recognized but
- can not be created remotely. They are implemented for Samba and those that
- support the CIFS Unix extensions, although earlier versions of Samba
- overly restrict the pathnames.
- 2) follow_link and readdir code does not follow dfs junctions
- but recognizes them
- Misc testing to do
- ==================
- 1) check out max path names and max path name components against various server
- types. Try nested symlinks (8 deep). Return max path name in stat -f information
- 2) Improve xfstest's cifs/smb3 enablement and adapt xfstests where needed to test
- cifs/smb3 better
- 3) Additional performance testing and optimization using iozone and similar -
- there are some easy changes that can be done to parallelize sequential writes,
- and when signing is disabled to request larger read sizes (larger than
- negotiated size) and send larger write sizes to modern servers.
- 4) More exhaustively test against less common servers
|