mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 04:04:43 +01:00
smb: client: fix DFS failover in multiuser mounts
For sessions and tcons created on behalf of new users accessing a multiuser mount, matching their sessions in tcon_super_cb() with master tcon will always lead to false as every new user will have its own session and tcon. All multiuser sessions, however, will inherit ->dfs_root_ses from master tcon, so match it instead. Signed-off-by: Paulo Alcantara (Red Hat) <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
85633c00ad
commit
0826b134c0
1 changed files with 2 additions and 1 deletions
|
|
@ -1111,7 +1111,8 @@ static void tcon_super_cb(struct super_block *sb, void *arg)
|
|||
t2 = cifs_sb_master_tcon(cifs_sb);
|
||||
|
||||
spin_lock(&t2->tc_lock);
|
||||
if (t1->ses == t2->ses &&
|
||||
if ((t1->ses == t2->ses ||
|
||||
t1->ses->dfs_root_ses == t2->ses->dfs_root_ses) &&
|
||||
t1->ses->server == t2->ses->server &&
|
||||
t2->origin_fullpath &&
|
||||
dfs_src_pathname_equal(t2->origin_fullpath, t1->origin_fullpath))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue