summaryrefslogtreecommitdiffstats
path: root/fs/cifs/cifs_fs_sb.h
diff options
context:
space:
mode:
authorPaulo Alcantara <pc@cjr.nz>2021-06-05 00:25:29 +0200
committerSteve French <stfrench@microsoft.com>2021-06-21 04:28:16 +0200
commitc9f7110399059100e69dba08a58658890be75f6f (patch)
treeb94a4a77388dfe300ffeb448dd84bd3a39a4b4ee /fs/cifs/cifs_fs_sb.h
parentcifs: get rid of @noreq param in __dfs_cache_find() (diff)
downloadlinux-c9f7110399059100e69dba08a58658890be75f6f.tar.xz
linux-c9f7110399059100e69dba08a58658890be75f6f.zip
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>
Diffstat (limited to 'fs/cifs/cifs_fs_sb.h')
-rw-r--r--fs/cifs/cifs_fs_sb.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/cifs/cifs_fs_sb.h b/fs/cifs/cifs_fs_sb.h
index 9c45b3a82ad9..2dfd10c34ace 100644
--- a/fs/cifs/cifs_fs_sb.h
+++ b/fs/cifs/cifs_fs_sb.h
@@ -77,6 +77,8 @@ struct cifs_sb_info {
* failover properly.
*/
char *origin_fullpath; /* \\HOST\SHARE\[OPTIONAL PATH] */
+ /* randomly generated 128-bit number for indexing dfs mount groups in referral cache */
+ uuid_t dfs_mount_id;
/*
* Indicate whether serverino option was turned off later
* (cifs_autodisable_serverino) in order to match new mounts.