|
@@ -3688,14 +3688,16 @@ remote_path_check:
|
|
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) {
|
|
|
|
- cifs_dbg(VFS, "cannot query dirs between root and final path, "
|
|
|
|
- "enabling CIFS_MOUNT_USE_PREFIX_PATH\n");
|
|
|
|
- cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_USE_PREFIX_PATH;
|
|
|
|
- rc = 0;
|
|
|
|
|
|
+ if (rc != 0) {
|
|
|
|
+ cifs_dbg(VFS, "cannot query dirs between root and final path, "
|
|
|
|
+ "enabling CIFS_MOUNT_USE_PREFIX_PATH\n");
|
|
|
|
+ cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_USE_PREFIX_PATH;
|
|
|
|
+ rc = 0;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
kfree(full_path);
|
|
kfree(full_path);
|
|
}
|
|
}
|