diff options
author | Vijay Bellur <vbellur@redhat.com> | 2017-09-05 23:58:15 -0400 |
---|---|---|
committer | Amar Tumballi <amarts@redhat.com> | 2017-09-07 09:52:16 +0000 |
commit | 84f8fb81d73b87463092eb082a5cc6a4055103f4 (patch) | |
tree | 400392bdf9ebbf4c959e4c7f19965600ffb99082 /xlators | |
parent | 6826905213eb7e9bc8728e8269864f066ce0e23a (diff) | |
download | glusterfs-84f8fb81d73b87463092eb082a5cc6a4055103f4.tar.gz glusterfs-84f8fb81d73b87463092eb082a5cc6a4055103f4.tar.xz glusterfs-84f8fb81d73b87463092eb082a5cc6a4055103f4.zip |
mount/fuse: Include sub-directory in source argument for mount()
With this, mount of a sub-directory 'foo' gets listed in /proc/mounts as:
<hostname>:<volname>/foo on /mnt/glusterfs type fuse.glusterfs (rw,relatime...)
Signed-off-by: Vijay Bellur <vbellur@redhat.com>
BUG: 1488913
Change-Id: Ib1e1ac3741bf66e1a912d792f2948b748931f2b0
Reviewed-on: https://review.gluster.org/18210
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Niels de Vos <ndevos@redhat.com>
Smoke: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Diffstat (limited to 'xlators')
-rw-r--r-- | xlators/mount/fuse/src/fuse-bridge.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/xlators/mount/fuse/src/fuse-bridge.c b/xlators/mount/fuse/src/fuse-bridge.c index f9df3586c4..4865ffdc56 100644 --- a/xlators/mount/fuse/src/fuse-bridge.c +++ b/xlators/mount/fuse/src/fuse-bridge.c @@ -5684,9 +5684,13 @@ init (xlator_t *this_xl) fsname = cmd_args->volfile; if (!fsname && cmd_args->volfile_server) { if (cmd_args->volfile_id) { + int dir_len = 0; + if (cmd_args->subdir_mount) + dir_len = strlen (cmd_args->subdir_mount) + 1; fsname = GF_MALLOC ( strlen (cmd_args->volfile_server) + 1 + - strlen (cmd_args->volfile_id) + 1, + strlen (cmd_args->volfile_id) + 1 + + dir_len, gf_fuse_mt_fuse_private_t); if (!fsname) { gf_log ("glusterfs-fuse", GF_LOG_ERROR, @@ -5697,6 +5701,8 @@ init (xlator_t *this_xl) strcpy (fsname, cmd_args->volfile_server); strcat (fsname, ":"); strcat (fsname, cmd_args->volfile_id); + if (dir_len) + strcat (fsname, cmd_args->subdir_mount); } else fsname = cmd_args->volfile_server; } |