Please pull the following changes since commit 8fe28cb58bcb235034b64cbbb7550a8a43fd88be: Linux 4.20 (2018-12-23 15:55:59 -0800) are available in the Git repository at: git://git.samba.org/sfrench/cifs-2.6.git tags/4.21-smb3-fixes for you to fetch changes up to fea170804b4dc44cd79f8cb1ce236f3a824951cd: cifs: update internal module version number (2018-12-31 00:59:19 -0600) ---------------------------------------------------------------- 4 fixes for stable, improvements to DFS including allowing failover to alternate targets, and some small performance improvements Now that the three sets of newly updated/extended xfstest verification test buckets have all passed (an example can be seen at http://smb3-test-rhel-75.southcentralus.cloudapp.azure.com/#/builders/2/builds/83) , am sending off this set. Note that there are a set of three additional fixes for stable (two for crediting, one for large reads) and some SMB3.1.1/security improvements that are not included since they are still being tested, but those should be ready in a few days. ---------------------------------------------------------------- Aurelien Aptel (1): cifs: auto disable 'serverino' in dfs mounts Colin Ian King (1): cifs: clean up indentation, replace spaces with tab Dan Carpenter (1): cifs: Use kzfree() to free password Georgy A Bystrenin (1): CIFS: Fix error mapping for SMB2_LOCK command which caused OFD lock problem Gustavo A. R. Silva (1): cifs: suppress some implicit-fallthrough warnings Joe Perches (1): cifs: check kzalloc return Kenneth D'souza (1): Add vers=3.0.2 as a valid option for SMBv3.0.2 Long Li (2): CIFS: use the correct length when pinning memory for direct I/O for write CIFS: return correct errors when pinning memory failed for direct I/O Paulo Alcantara (13): cifs: Refactor out cifs_mount() cifs: Skip any trailing backslashes from UNC cifs: Make devname param optional in cifs_compose_mount_options() cifs: Save TTL value when parsing DFS referrals cifs: Add DFS cache routines cifs: Make use of DFS cache to get new DFS referrals cifs: Add support for failover in cifs_mount() cifs: Add support for failover in cifs_reconnect() cifs: start DFS cache refresher in cifs_mount() cifs: Only free DFS target list if we actually got one cifs: Add support for failover in smb2_reconnect() cifs: Add support for failover in cifs_reconnect_tcon() cifs: Always resolve hostname before reconnecting Ronnie Sahlberg (6): cifs: use a compound for setting an xattr cifs: create a helper function for compound query_info cifs: change smb2_query_eas to use the compound query-info helper cifs: remove coverity warning in calc_lanman_hash cifs: check ntwrk_buf_start for NULL before dereferencing it cifs: we can not use small padding iovs together with encryption Stephen Rothwell (1): cifs: update for current_kernel_time64() removal Steve French (5): cifs: smb2 commands can not be negative, remove confusing check cifs: address trivial coverity warning cifs: minor updates to documentation cifs: Minor Kconfig clarification cifs: update internal module version number Wei Yongjun (1): cifs: Fix to use kmem_cache_free() instead of kfree() YueHaibing (4): cifs: remove set but not used variable 'smb_buf' cifs: remove set but not used variable 'server' cifs: remove set but not used variable 'sep' cifs: Use GFP_ATOMIC when a lock is held in cifs_mount() Documentation/filesystems/cifs/TODO | 26 ++- fs/cifs/Kconfig | 5 +- fs/cifs/Makefile | 2 +- fs/cifs/cifs_debug.c | 12 ++ fs/cifs/cifs_dfs_ref.c | 138 ++++++++----- fs/cifs/cifs_fs_sb.h | 9 + fs/cifs/cifsencrypt.c | 13 +- fs/cifs/cifsfs.c | 17 +- fs/cifs/cifsfs.h | 2 +- fs/cifs/cifsglob.h | 15 +- fs/cifs/cifsproto.h | 28 ++- fs/cifs/cifssmb.c | 88 +++++++- fs/cifs/connect.c | 924 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------- fs/cifs/dfs_cache.c | 1367 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ fs/cifs/dfs_cache.h | 97 +++++++++ fs/cifs/file.c | 12 +- fs/cifs/inode.c | 44 ++-- fs/cifs/misc.c | 68 +++++-- fs/cifs/readdir.c | 9 +- fs/cifs/sess.c | 4 +- fs/cifs/smb1ops.c | 15 +- fs/cifs/smb2inode.c | 16 +- fs/cifs/smb2maperror.c | 4 +- fs/cifs/smb2ops.c | 322 ++++++++++++++++++----------- fs/cifs/smb2pdu.c | 108 ++++++++-- fs/cifs/smb2pdu.h | 1 - fs/cifs/smb2proto.h | 15 +- fs/cifs/transport.c | 8 +- 28 files changed, 2862 insertions(+), 507 deletions(-) create mode 100644 fs/cifs/dfs_cache.c create mode 100644 fs/cifs/dfs_cache.h -- Thanks, Steve