diff options
| -rw-r--r-- | fs/cifs/cifsproto.h | 3 | ||||
| -rw-r--r-- | fs/cifs/connect.c | 2 | ||||
| -rw-r--r-- | fs/cifs/inode.c | 6 |
3 files changed, 6 insertions, 5 deletions
diff --git a/fs/cifs/cifsproto.h b/fs/cifs/cifsproto.h index 5523047b1ebd..e6d1481b16c1 100644 --- a/fs/cifs/cifsproto.h +++ b/fs/cifs/cifsproto.h | |||
| @@ -54,7 +54,8 @@ do { \ | |||
| 54 | __func__, curr_xid, (int)rc); \ | 54 | __func__, curr_xid, (int)rc); \ |
| 55 | } while (0) | 55 | } while (0) |
| 56 | extern char *build_path_from_dentry(struct dentry *); | 56 | extern char *build_path_from_dentry(struct dentry *); |
| 57 | extern char *cifs_build_path_to_root(struct cifs_sb_info *cifs_sb); | 57 | extern char *cifs_build_path_to_root(struct cifs_sb_info *cifs_sb, |
| 58 | struct cifsTconInfo *tcon); | ||
| 58 | extern char *build_wildcard_path_from_dentry(struct dentry *direntry); | 59 | extern char *build_wildcard_path_from_dentry(struct dentry *direntry); |
| 59 | extern char *cifs_compose_mount_options(const char *sb_mountdata, | 60 | extern char *cifs_compose_mount_options(const char *sb_mountdata, |
| 60 | const char *fullpath, const struct dfs_info3_param *ref, | 61 | const char *fullpath, const struct dfs_info3_param *ref, |
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index 387b91ae7400..cc1a8604a790 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c | |||
| @@ -2833,7 +2833,7 @@ remote_path_check: | |||
| 2833 | /* check if a whole path (including prepath) is not remote */ | 2833 | /* check if a whole path (including prepath) is not remote */ |
| 2834 | if (!rc && cifs_sb->prepathlen && tcon) { | 2834 | if (!rc && cifs_sb->prepathlen && tcon) { |
| 2835 | /* build_path_to_root works only when we have a valid tcon */ | 2835 | /* build_path_to_root works only when we have a valid tcon */ |
| 2836 | full_path = cifs_build_path_to_root(cifs_sb); | 2836 | full_path = cifs_build_path_to_root(cifs_sb, tcon); |
| 2837 | if (full_path == NULL) { | 2837 | if (full_path == NULL) { |
| 2838 | rc = -ENOMEM; | 2838 | rc = -ENOMEM; |
| 2839 | goto mount_fail_check; | 2839 | goto mount_fail_check; |
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index aa48521a78c1..589f3e3f6e00 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c | |||
| @@ -728,12 +728,12 @@ static const struct inode_operations cifs_ipc_inode_ops = { | |||
| 728 | .lookup = cifs_lookup, | 728 | .lookup = cifs_lookup, |
| 729 | }; | 729 | }; |
| 730 | 730 | ||
| 731 | char *cifs_build_path_to_root(struct cifs_sb_info *cifs_sb) | 731 | char *cifs_build_path_to_root(struct cifs_sb_info *cifs_sb, |
| 732 | struct cifsTconInfo *tcon) | ||
| 732 | { | 733 | { |
| 733 | int pplen = cifs_sb->prepathlen; | 734 | int pplen = cifs_sb->prepathlen; |
| 734 | int dfsplen; | 735 | int dfsplen; |
| 735 | char *full_path = NULL; | 736 | char *full_path = NULL; |
| 736 | struct cifsTconInfo *tcon = cifs_sb_master_tcon(cifs_sb); | ||
| 737 | 737 | ||
| 738 | /* if no prefix path, simply set path to the root of share to "" */ | 738 | /* if no prefix path, simply set path to the root of share to "" */ |
| 739 | if (pplen == 0) { | 739 | if (pplen == 0) { |
| @@ -875,7 +875,7 @@ struct inode *cifs_root_iget(struct super_block *sb, unsigned long ino) | |||
| 875 | char *full_path; | 875 | char *full_path; |
| 876 | struct cifsTconInfo *tcon = cifs_sb_master_tcon(cifs_sb); | 876 | struct cifsTconInfo *tcon = cifs_sb_master_tcon(cifs_sb); |
| 877 | 877 | ||
| 878 | full_path = cifs_build_path_to_root(cifs_sb); | 878 | full_path = cifs_build_path_to_root(cifs_sb, tcon); |
| 879 | if (full_path == NULL) | 879 | if (full_path == NULL) |
| 880 | return ERR_PTR(-ENOMEM); | 880 | return ERR_PTR(-ENOMEM); |
| 881 | 881 | ||
