cifs: keep referral server sessions alive
authorPaulo Alcantara <pc@cjr.nz>
Fri, 4 Jun 2021 22:25:29 +0000 (19:25 -0300)
committerSteve French <stfrench@microsoft.com>
Mon, 21 Jun 2021 02:28:16 +0000 (21:28 -0500)
commitc9f7110399059100e69dba08a58658890be75f6f
treeb94a4a77388dfe300ffeb448dd84bd3a39a4b4ee
parent2b133b7e216b9dae42fe504c7aa090363d96745a
cifs: keep referral server sessions alive

At every mount, keep all sessions alive that were used for chasing the
DFS referrals as long as the dfs mounts are active.

Use those sessions in DFS cache to refresh all active tcons as well as
cached entries.  They will be managed by a list of mount_group
structures that will be indexed by a randomly generated uuid at mount
time, so we can put all the sessions related to specific dfs mounts
and avoid leaking them.

Signed-off-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
Reviewed-by: Aurelien Aptel <aaptel@suse.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/cifs_fs_sb.h
fs/cifs/connect.c
fs/cifs/dfs_cache.c
fs/cifs/dfs_cache.h