The Samba-Bugzilla – Attachment 18551 Details for
Bug 15797
Unable to connect to CephFS subvolume shares with vfs_shadow_copy2
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
patch from master for v4-20-test
v4.20.patch (text/plain), 2.60 KB, created by
Anoop C S
on 2025-02-11 10:42:51 UTC
(
hide
)
Description:
patch from master for v4-20-test
Filename:
MIME Type:
Creator:
Anoop C S
Created:
2025-02-11 10:42:51 UTC
Size:
2.60 KB
patch
obsolete
>From b191112fd8d3f64ac08e1963c1c2659069a8ccd7 Mon Sep 17 00:00:00 2001 >From: Anoop C S <anoopcs@samba.org> >Date: Thu, 6 Feb 2025 17:50:10 +0530 >Subject: [PATCH] vfs_shadow_copy2: Use VFS interface to derive mount point > >shadow_copy2_find_mount_point() does direct stat() calls locally while >trying to automatically detect the mount point. This cannot be always >true as there are virtual file systems like CephFS, GlusterFS etc. >without their share path locally available on the system. Instead use >the VFS interface to make the stat calls hit the underlying file system >irrespective of their local presence in the system. > >BUG: https://bugzilla.samba.org/show_bug.cgi?id=15797 > >Signed-off-by: Anoop C S <anoopcs@samba.org> >Reviewed-by: Ralph Boehme <slow@samba.org> >Reviewed-by: John Mulligan <jmulligan@samba.org> > >Autobuild-User(master): Anoop C S <anoopcs@samba.org> >Autobuild-Date(master): Fri Feb 7 06:23:12 UTC 2025 on atb-devel-224 > >(cherry picked from commit c7d0adade09fa264201a125b28dd76c163451260) >--- > source3/modules/vfs_shadow_copy2.c | 31 ++++++++++++++++++++---------- > 1 file changed, 21 insertions(+), 10 deletions(-) > >diff --git a/source3/modules/vfs_shadow_copy2.c b/source3/modules/vfs_shadow_copy2.c >index 309be6e293e..74d60f2da6f 100644 >--- a/source3/modules/vfs_shadow_copy2.c >+++ b/source3/modules/vfs_shadow_copy2.c >@@ -726,31 +726,42 @@ static bool _shadow_copy2_strip_snapshot_converted(TALLOC_CTX *mem_ctx, > static char *shadow_copy2_find_mount_point(TALLOC_CTX *mem_ctx, > vfs_handle_struct *handle) > { >- char *path = talloc_strdup(mem_ctx, handle->conn->connectpath); >+ struct smb_filename *smb_fname_cpath = NULL; > dev_t dev; >- struct stat st; > char *p; > >- if (stat(path, &st) != 0) { >- talloc_free(path); >+ smb_fname_cpath = synthetic_smb_fname(mem_ctx, >+ handle->conn->connectpath, >+ NULL, >+ NULL, >+ 0, >+ 0); >+ if (smb_fname_cpath == NULL) { >+ errno = ENOMEM; >+ return NULL; >+ } >+ >+ if (SMB_VFS_NEXT_STAT(handle, smb_fname_cpath) != 0) { >+ TALLOC_FREE(smb_fname_cpath); > return NULL; > } > >- dev = st.st_dev; >+ dev = smb_fname_cpath->st.st_ex_dev; > >- while ((p = strrchr(path, '/')) && p > path) { >+ while ((p = strrchr(smb_fname_cpath->base_name, '/')) && >+ p > smb_fname_cpath->base_name) { > *p = 0; >- if (stat(path, &st) != 0) { >- talloc_free(path); >+ if (SMB_VFS_NEXT_STAT(handle, smb_fname_cpath) != 0) { >+ TALLOC_FREE(smb_fname_cpath); > return NULL; > } >- if (st.st_dev != dev) { >+ if (smb_fname_cpath->st.st_ex_dev != dev) { > *p = '/'; > break; > } > } > >- return path; >+ return smb_fname_cpath->base_name; > } > > /** >-- >2.48.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Flags:
anoopcs
:
review?
(
slow
)
gd
:
review+
gd
:
ci-passed+
Actions:
View
Attachments on
bug 15797
:
18549
|
18550
| 18551