|
@@ -245,7 +245,8 @@ compose_mount_options_err:
|
|
|
* @fullpath: full path in UNC format
|
|
|
* @ref: server's referral
|
|
|
*/
|
|
|
-static struct vfsmount *cifs_dfs_do_refmount(struct cifs_sb_info *cifs_sb,
|
|
|
+static struct vfsmount *cifs_dfs_do_refmount(struct dentry *mntpt,
|
|
|
+ struct cifs_sb_info *cifs_sb,
|
|
|
const char *fullpath, const struct dfs_info3_param *ref)
|
|
|
{
|
|
|
struct vfsmount *mnt;
|
|
@@ -259,7 +260,7 @@ static struct vfsmount *cifs_dfs_do_refmount(struct cifs_sb_info *cifs_sb,
|
|
|
if (IS_ERR(mountdata))
|
|
|
return (struct vfsmount *)mountdata;
|
|
|
|
|
|
- mnt = vfs_kern_mount(&cifs_fs_type, 0, devname, mountdata);
|
|
|
+ mnt = vfs_submount(mntpt, &cifs_fs_type, devname, mountdata);
|
|
|
kfree(mountdata);
|
|
|
kfree(devname);
|
|
|
return mnt;
|
|
@@ -334,7 +335,7 @@ static struct vfsmount *cifs_dfs_do_automount(struct dentry *mntpt)
|
|
|
mnt = ERR_PTR(-EINVAL);
|
|
|
break;
|
|
|
}
|
|
|
- mnt = cifs_dfs_do_refmount(cifs_sb,
|
|
|
+ mnt = cifs_dfs_do_refmount(mntpt, cifs_sb,
|
|
|
full_path, referrals + i);
|
|
|
cifs_dbg(FYI, "%s: cifs_dfs_do_refmount:%s , mnt:%p\n",
|
|
|
__func__, referrals[i].node_name, mnt);
|