Please pull the following changes since commit 9f4ad9e425a1d3b6a34617b8ea226d56a119a717: Linux 5.12 (2021-04-25 13:49:08 -0700) are available in the Git repository at: git://git.samba.org/sfrench/cifs-2.6.git tags/5.12-rc-smb3-fixes-part1 for you to fetch changes up to a8a6082d4ae29d98129440c4a5de8e6ea3de0983: cifs: update internal version number (2021-04-25 23:59:27 -0500) ---------------------------------------------------------------- 40 cifs/smb3 changesets, including 4 fixes for stable, and various new features: - improvements to root directory metadata caching - addition of new "rasize" mount parameter which can significantly increase read ahead performance (e.g. copy can be much faster, especially with multichannel) - addition of support for insert and collapse range - improvements to error handling in mount Additional features still being tested: including the important performance patches for deferred close ("handle lease" support) patches, the improved support for fallocate, and some important improvements to multichannel reconnect behavior are still being tested and are not included in this pull request. Reran the regression tests on these 40 on top of recently released 5.12: http://smb3-test-rhel-75.southcentralus.cloudapp.azure.com/#/builders/2/builds/604 ---------------------------------------------------------------- Al Viro (7): cifs: don't cargo-cult strndup() cifs: constify get_normalized_path() properly cifs: constify path argument of ->make_node() cifs: constify pathname arguments in a bunch of helpers cifs: make build_path_from_dentry() return const char * cifs: allocate buffer in the caller of build_path_from_dentry() cifs: switch build_path_from_dentry() to using dentry_path_raw() Aurelien Aptel (8): cifs: simplify SWN code with dummy funcs instead of ifdefs Documentation/admin-guide/cifs: document open_files and dfscache cifs: remove old dead code cifs: make fs_context error logging wrapper cifs: add fs_context param to parsing helpers cifs: log mount errors using cifs_errorf() cifs: export supported mount options via new mount_params /proc file smb2: fix use-after-free in smb2_ioctl_query_info() David Disseldorp (1): cifs: fix leak in cifs_smb3_do_mount() ctx Eugene Korenevsky (1): cifs: fix out-of-bound memory access when calling smb3_notify() at mount point Gustavo A. R. Silva (1): cifs: cifspdu.h: Replace one-element array with flexible-array member Jiapeng Chong (1): cifs: Remove useless variable Muhammad Usama Anjum (1): cifs: remove unnecessary copies of tcon->crfid.fid Paul Aurich (1): cifs: Return correct error code from smb2_get_enc_key Ronnie Sahlberg (11): cifs: move the check for nohandlecache into open_shroot cifs: pass a path to open_shroot and check if it is the root or not cifs: rename the *_shroot* functions to *_cached_dir* cifs: store a pointer to the root dentry in cifs_sb_info once we have completed mounting the share cifs: Grab a reference for the dentry of the cached directory during the lifetime of the cache cifs: add a function to get a cached dir based on its dentry cifs: add a timestamp to track when the lease of the cached dir was taken cifs: pass the dentry instead of the inode down to the revalidation check functions cifs: check the timestamp for the cached dirent when deciding on revalidate cifs: add support for FALLOC_FL_COLLAPSE_RANGE cifs: add FALLOC_FL_INSERT_RANGE support Steve French (6): cifs: correct comments explaining internal semaphore usage in the module smb3: update protocol header definitions based to include new flags SMB3: update structures for new compression protocol definitions smb3: limit noisy error smb3: add rasize mount parameter to improve readahead performance cifs: update internal version number Wan Jiabing (1): fs: cifs: Remove repeated struct declaration jack1.li_cp (1): cifs: Fix spelling of 'security' Documentation/admin-guide/cifs/usage.rst | 3 + fs/cifs/cifs_debug.c | 58 +++++++++++++-- fs/cifs/cifs_dfs_ref.c | 14 ++-- fs/cifs/cifs_fs_sb.h | 4 + fs/cifs/cifs_swn.h | 27 +++++++ fs/cifs/cifsacl.c | 4 +- fs/cifs/cifsfs.c | 47 ++++++++++-- fs/cifs/cifsfs.h | 2 +- fs/cifs/cifsglob.h | 32 ++------ fs/cifs/cifspdu.h | 2 +- fs/cifs/cifsproto.h | 30 ++++---- fs/cifs/cifssmb.c | 52 +------------ fs/cifs/connect.c | 34 ++------- fs/cifs/dfs_cache.c | 41 ++++++----- fs/cifs/dir.c | 150 ++++++++++++++----------------------- fs/cifs/file.c | 79 ++++++++++---------- fs/cifs/fs_context.c | 143 ++++++++++++++++++++---------------- fs/cifs/fs_context.h | 13 ++-- fs/cifs/inode.c | 140 ++++++++++++++++++----------------- fs/cifs/ioctl.c | 13 ++-- fs/cifs/link.c | 46 +++++++----- fs/cifs/misc.c | 2 +- fs/cifs/readdir.c | 15 ++-- fs/cifs/smb1ops.c | 6 +- fs/cifs/smb2inode.c | 10 +-- fs/cifs/smb2misc.c | 1 + fs/cifs/smb2ops.c | 195 ++++++++++++++++++++++++++++++++++++++----------- fs/cifs/smb2pdu.c | 2 +- fs/cifs/smb2pdu.h | 49 +++++++++++-- fs/cifs/smb2proto.h | 16 ++-- fs/cifs/unc.c | 4 +- fs/cifs/xattr.c | 40 +++++----- 32 files changed, 724 insertions(+), 550 deletions(-) -- Thanks, Steve