OSDN Git Service

cifs: share dfs connections and supers
authorPaulo Alcantara <pc@cjr.nz>
Thu, 17 Nov 2022 16:23:49 +0000 (13:23 -0300)
committerSteve French <stfrench@microsoft.com>
Mon, 19 Dec 2022 14:03:12 +0000 (08:03 -0600)
commita1c0d00572fca4adcb40e1fbd3acd481fc75e20b
tree59d17b23729687930bc2d9d2b7ff28d636dc1cdb
parenta73a26d97eca082fe13c964e5541543c1e78dc55
cifs: share dfs connections and supers

When matching DFS superblocks we can't rely on either the server's
address or tcon's UNC name from mount(2) as the existing servers and
tcons might be connected to somewhere else.  Instead, check if
superblock is dfs, and if so, match its original source pathname with
the new mount's source pathname.

For DFS connections, instead of checking server's address, match its
referral path as it could be connected to different targets.

Signed-off-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/cifs_debug.c
fs/cifs/cifsglob.h
fs/cifs/cifsproto.h
fs/cifs/connect.c
fs/cifs/dfs.c
fs/cifs/dfs.h
fs/cifs/dfs_cache.c
fs/cifs/fs_context.c
fs/cifs/fs_context.h