[PATCH] shadow_copy2: mount_point is valid only for locally mountable file-system
Jeremy Allison
jra at samba.org
Tue Oct 11 00:11:11 UTC 2016
On Fri, Sep 30, 2016 at 01:31:58PM +0530, Rajesh Joseph wrote:
> shadow_copy2 currently assumes that all the underlying file-system are
> mountable and
> are mounted on samba server. But this may not be true for all cases, e.g.
> GlusterFS is
> accessed via libgfapi and is not mounted.
>
> This can lead to connection failure if such file-systems are used along
> with shadow_copy2.
> The attached patch assume "/" as the default mount-point in such cases
> instead of failing
> the connect.
>
> This may not be a complete fix because shadow_copy2_find_mount_point can
> return wrong
> mount_point if by coincidence the "connectpath" is actually present in the
> local file-system.
>
> I had a brief discussion on this with Michael, and we think that it might
> be good if VFS layer
> can tell if the underlying file-system is mountable or not.
>
> It would be great to know what others think on this problem.
Yeah, setting it to "/" can also cause problems here:
2613 } else {
2614 config->snapshot_basepath = talloc_asprintf(config, "%s/%s",
2615 config->mount_point, config->snapdir);
2616 if (config->snapshot_basepath == NULL) {
2617 DEBUG(0, ("talloc_asprintf() failed\n"));
2618 errno = ENOMEM;
2619 return -1;
2620 }
2621 }
Let me think some more about what "connectpath" should be in
this case.
We have an existing VFS function SMB_VFS_CONNECTPATH(), maybe
this should be expanded to have a different meaning when
we're dealing with a completely virtual underlying FS.
Jeremy.
More information about the samba-technical
mailing list