diff options
author | Paulo Alcantara <pc@cjr.nz> | 2021-06-05 00:25:29 +0200 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2021-06-21 04:28:16 +0200 |
commit | c9f7110399059100e69dba08a58658890be75f6f (patch) | |
tree | b94a4a77388dfe300ffeb448dd84bd3a39a4b4ee /fs/cifs/cifs_fs_sb.h | |
parent | cifs: get rid of @noreq param in __dfs_cache_find() (diff) | |
download | linux-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.h | 2 |
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. |