From f748b9e3ab8eb69e44a293c01aa225d28dcd4b87 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Fri, 20 Oct 2017 14:55:10 +0200 Subject: [PATCH] vfs_glusterfs: Fix exporting subdirs with shadow_copy2 Since the glusterfs vfs module does not operate on a locally mounted path, but on a "virtual" path starting at the volume root, some assumptions of the code about the vfs connect path fail. One example is the shadow_copy2 module which tries to detect the mount point from the connectpath. In order to circumvent this problem, this patch forces the "shadow:mountpoint" option to "/", which skips the mount-point-detection code. This patch will only have an effect if both the glusterfs and the shadow_copy2 module are listed in vfs objects in the right order, i.e. first shadow_copy2, and then glusterfs. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13091 Pair-Programmed-With: Anoop C S Signed-off-by: Michael Adam Signed-off-by: Anoop C S Reviewed-by: Jeremy Allison (cherry picked from commit 1249801ec73c55449068dd72efde81ce6235ec8e) --- source3/modules/vfs_glusterfs.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/source3/modules/vfs_glusterfs.c b/source3/modules/vfs_glusterfs.c index 91cf87faa11..8d12ac65f02 100644 --- a/source3/modules/vfs_glusterfs.c +++ b/source3/modules/vfs_glusterfs.c @@ -352,6 +352,16 @@ static int vfs_gluster_connect(struct vfs_handle_struct *handle, volume, strerror(errno))); goto done; } + + /* + * The shadow_copy2 module will fail to export subdirectories + * of a gluster volume unless we specify the mount point, + * because the detection fails if the file system is not + * locally mounted: + * https://bugzilla.samba.org/show_bug.cgi?id=13091 + */ + lp_do_parameter(SNUM(handle->conn), "shadow:mountpoint", "/"); + done: if (ret < 0) { if (fs) -- 2.13.6