mirror of https://gitee.com/openkylin/linux.git
Fix regression which breaks DFS mounting
Patch a6b5058
results in -EREMOTE returned by is_path_accessible() in
cifs_mount() to be ignored which breaks DFS mounting.
Signed-off-by: Sachin Prabhu <sprabhu@redhat.com>
Reviewed-by: Aurelien Aptel <aaptel@suse.com>
CC: Stable <stable@vger.kernel.org>
Signed-off-by: Steve French <smfrench@gmail.com>
This commit is contained in:
parent
94f8737175
commit
d171356ff1
|
@ -3688,14 +3688,16 @@ cifs_mount(struct cifs_sb_info *cifs_sb, struct smb_vol *volume_info)
|
||||||
goto mount_fail_check;
|
goto mount_fail_check;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = cifs_are_all_path_components_accessible(server,
|
if (rc != -EREMOTE) {
|
||||||
|
rc = cifs_are_all_path_components_accessible(server,
|
||||||
xid, tcon, cifs_sb,
|
xid, tcon, cifs_sb,
|
||||||
full_path);
|
full_path);
|
||||||
if (rc != 0) {
|
if (rc != 0) {
|
||||||
cifs_dbg(VFS, "cannot query dirs between root and final path, "
|
cifs_dbg(VFS, "cannot query dirs between root and final path, "
|
||||||
"enabling CIFS_MOUNT_USE_PREFIX_PATH\n");
|
"enabling CIFS_MOUNT_USE_PREFIX_PATH\n");
|
||||||
cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_USE_PREFIX_PATH;
|
cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_USE_PREFIX_PATH;
|
||||||
rc = 0;
|
rc = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
kfree(full_path);
|
kfree(full_path);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue