Please pull the following changes since commit 851f657a86421dded42b6175c6ea0f4f5e86af97: Merge tag '6.2-rc-smb3-client-fixes-part1' of git://git.samba.org/sfrench/cifs-2.6 (2022-12-15 14:53:14 -0800) are available in the Git repository at: git://git.samba.org/sfrench/cifs-2.6.git tags/6.2-rc-smb3-client-fixes-part2 for you to fetch changes up to aacfc939cc42293fbcfe113040b4e8abaef68429: cifs: update internal module number (2022-12-19 08:04:50 -0600) As mentioned in the earlier smb3 client P/R, last week we were still testing various additional important fixes: a series of DFS and reconnect fixes from Paulo, which are now included in this P/R ---------------------------------------------------------------- 20 cifs/smb3 client fixes, mostly related to reconnect and/or DFS - two important reconnect fixes: cases where status of recently connected IPCs and shares were not being updated leaving them in an incorrect state - fix for older Windows servers that would return STATUS_OBJECT_NAME_INVALID to query info requests on DFS links in a namespace that contained non-ASCII characters, reducing number of wasted roundtrips. - fix for leaked -ENOMEM to userspace when cifs.ko couldn't perform I/O due to a disconnected server, expired or deleted session. - removal of all unneeded DFS related mount option string parsing (now using fs_context for automounts) -improve clarity/readability, moving various DFS related functions out of fs/cifs/connect.c (which was getting too big to be readable) to new file. - Fix problem when large number of DFS connections. Allow sharing of DFS connections and fix how the referral paths are matched - Referral caching fix: Instead of looking up ipc connections to refresh cached referrals, store direct dfs root server's IPC pointer in new sessions so can simply access it to either refresh or create a new referral that such connections belong to. - Fix to allow dfs root server's connections to also failover - Optimized reconnect of nested DFS links - Set correct status of IPC connections marked for reconnect ---------------------------------------------------------------- Paulo Alcantara (19): cifs: set correct tcon status after initial tree connect cifs: set correct ipc status after initial tree connect cifs: reduce roundtrips on create/qinfo requests cifs: use fs_context for automounts cifs: get rid of mount options string parsing cifs: remove unused smb3_fs_context::mount_options cifs: set resolved ip in sockaddr cifs: split out ses and tcon retrieval from mount_get_conns() cifs: share dfs connections and supers cifs: don't refresh cached referrals from unactive mounts cifs: fix refresh of cached referrals cifs: refresh root referrals cifs: don't block in dfs_cache_noreq_update_tgthint() cifs: fix confusing debug message cifs: fix source pathname comparison of dfs supers cifs: optimize reconnect of nested links cifs: set correct status of tcon ipc when reconnecting cifs: use origin fullpath for automounts cifs: don't leak -ENOMEM in smb2_open_file() Steve French (1): cifs: update internal module number fs/cifs/Makefile | 2 +- fs/cifs/cifs_debug.c | 8 + fs/cifs/cifs_dfs_ref.c | 255 +++++++------------------------- fs/cifs/cifsfs.c | 6 - fs/cifs/cifsfs.h | 4 +- fs/cifs/cifsglob.h | 18 ++- fs/cifs/cifsproto.h | 14 +- fs/cifs/connect.c | 899 ++++++++++++++++++--------------------------------------------------------------------------------------------- fs/cifs/dfs.c | 544 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ fs/cifs/dfs.h | 46 ++++++ fs/cifs/dfs_cache.c | 276 +++++++--------------------------- fs/cifs/dfs_cache.h | 2 +- fs/cifs/dir.c | 21 ++- fs/cifs/dns_resolve.c | 49 +++--- fs/cifs/dns_resolve.h | 4 +- fs/cifs/fs_context.c | 13 +- fs/cifs/fs_context.h | 3 +- fs/cifs/inode.c | 6 - fs/cifs/misc.c | 81 ++-------- fs/cifs/smb2file.c | 4 +- fs/cifs/smb2inode.c | 46 ++++-- fs/cifs/smb2ops.c | 28 +++- 22 files changed, 991 insertions(+), 1338 deletions(-) create mode 100644 fs/cifs/dfs.c create mode 100644 fs/cifs/dfs.h -- Thanks, Steve