diff options
author | Aurelien Aptel <aaptel@suse.com> | 2018-11-16 18:13:25 +0300 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2018-12-24 08:05:11 +0300 |
commit | 5fc7fcd054adcf0f264446cbf778d33e30a45455 (patch) | |
tree | 31d5dd3cf962192e88a4113fb82c64d26c6d07ec /fs/cifs/connect.c | |
parent | d9345e0ae7cff25e9aed39d21f092dbb482dffec (diff) | |
download | linux-5fc7fcd054adcf0f264446cbf778d33e30a45455.tar.xz |
cifs: auto disable 'serverino' in dfs mounts
Different servers have different set of file ids.
After failover, unique IDs will be different so we can't validate
them.
Signed-off-by: Aurelien Aptel <aaptel@suse.com>
Reviewed-by: Paulo Alcantara <palcantara@suse.de>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/cifs/connect.c')
-rw-r--r-- | fs/cifs/connect.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index bab4422f5815..d0de4fb8ee43 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c @@ -4220,6 +4220,12 @@ int cifs_mount(struct cifs_sb_info *cifs_sb, struct smb_vol *vol) if (rc) goto error; + /* + * After reconnecting to a different server, unique ids won't + * match anymore, so we disable serverino. This prevents + * dentry revalidation to think the dentry are stale (ESTALE). + */ + cifs_autodisable_serverino(cifs_sb); out: free_xid(xid); return mount_setup_tlink(cifs_sb, ses, tcon); |