Enable dfs submounts to handle remote referrals.
Having remote dfs root support in cifs_mount, we can afford to pass into it UNC that is remote. Signed-off-by: Igor Mammedov <niallain@gmail.com> Acked-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
This commit is contained in:
parent
20418acd68
commit
1af28ceb92
1 changed files with 14 additions and 18 deletions
|
@ -341,27 +341,23 @@ cifs_dfs_follow_mountpoint(struct dentry *dentry, struct nameidata *nd)
|
||||||
|
|
||||||
for (i = 0; i < num_referrals; i++) {
|
for (i = 0; i < num_referrals; i++) {
|
||||||
dump_referral(referrals+i);
|
dump_referral(referrals+i);
|
||||||
/* connect to a storage node */
|
/* connect to a node */
|
||||||
if (referrals[i].flags & DFSREF_STORAGE_SERVER) {
|
int len;
|
||||||
int len;
|
len = strlen(referrals[i].node_name);
|
||||||
len = strlen(referrals[i].node_name);
|
if (len < 2) {
|
||||||
if (len < 2) {
|
cERROR(1, ("%s: Net Address path too short: %s",
|
||||||
cERROR(1, ("%s: Net Address path too short: %s",
|
|
||||||
__func__, referrals[i].node_name));
|
__func__, referrals[i].node_name));
|
||||||
rc = -EINVAL;
|
rc = -EINVAL;
|
||||||
goto out_err;
|
goto out_err;
|
||||||
}
|
}
|
||||||
mnt = cifs_dfs_do_refmount(nd->path.mnt,
|
mnt = cifs_dfs_do_refmount(nd->path.mnt,
|
||||||
nd->path.dentry,
|
nd->path.dentry, referrals + i);
|
||||||
referrals + i);
|
cFYI(1, ("%s: cifs_dfs_do_refmount:%s , mnt:%p", __func__,
|
||||||
cFYI(1, ("%s: cifs_dfs_do_refmount:%s , mnt:%p",
|
|
||||||
__func__,
|
|
||||||
referrals[i].node_name, mnt));
|
referrals[i].node_name, mnt));
|
||||||
|
|
||||||
/* complete mount procedure if we accured submount */
|
/* complete mount procedure if we accured submount */
|
||||||
if (!IS_ERR(mnt))
|
if (!IS_ERR(mnt))
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* we need it cause for() above could exit without valid submount */
|
/* we need it cause for() above could exit without valid submount */
|
||||||
|
|
Loading…
Add table
Reference in a new issue