From: Anoop C S Date: Wed, 1 Jul 2026 10:24:37 +0000 (+0530) Subject: vfs_glusterfs: Implement SMB_VFS_OPEN_SHARE_ROOT X-Git-Tag: talloc-2.5.0~83 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2ec7f316bdb2df2c0d074306f2b227de2a334799;p=thirdparty%2Fsamba.git vfs_glusterfs: Implement SMB_VFS_OPEN_SHARE_ROOT Signed-off-by: Anoop C S Reviewed-by: Volker Lendecke Reviewed-by: Ralph Boehme --- diff --git a/source3/modules/vfs_glusterfs.c b/source3/modules/vfs_glusterfs.c index d61d5521c70..d3fa1e72f17 100644 --- a/source3/modules/vfs_glusterfs.c +++ b/source3/modules/vfs_glusterfs.c @@ -517,6 +517,26 @@ static void vfs_gluster_disconnect(struct vfs_handle_struct *handle) glfs_clear_preopened(fs); } +static int vfs_gluster_open_share_root(struct vfs_handle_struct *handle, + struct files_struct *root_fsp, + const char *connectpath) +{ + SMB_STRUCT_STAT st = {}; + struct stat buf; + int ret; + + ret = glfs_stat(handle->data, connectpath, &buf); + if (ret != 0) { + return ret; + } + + smb_stat_ex_from_stat(&st, &buf); + + ret = vfs_set_share_root(root_fsp, connectpath, &st); + + return ret; +} + static uint64_t vfs_gluster_disk_free(struct vfs_handle_struct *handle, struct files_struct *fsp, uint64_t *bsize_p, @@ -2571,6 +2591,7 @@ static struct vfs_fn_pointers glusterfs_fns = { .connect_fn = vfs_gluster_connect, .disconnect_fn = vfs_gluster_disconnect, + .open_share_root_fn = vfs_gluster_open_share_root, .disk_free_fn = vfs_gluster_disk_free, .get_quota_fn = vfs_gluster_get_quota, .set_quota_fn = vfs_gluster_set_quota,