The branch, v4-23-test has been updated
       via  8b9278941c8 vfs_ceph_new: use vfs_ceph_iget/vfs_ceph_iput in 
vfs_ceph_disk_free
       via  5b31a12de43 mdssvc: make a copy of the elasticsearch:default_fields
      from  7216b8850c8 VERSION: Bump version up to Samba 4.23.5...

https://git.samba.org/?p=samba.git;a=shortlog;h=v4-23-test


- Log -----------------------------------------------------------------
commit 8b9278941c865d5377f8852162927bd7d69ea19b
Author: Shweta Sodani <[email protected]>
Date:   Thu Nov 20 16:14:26 2025 +0530

    vfs_ceph_new: use vfs_ceph_iget/vfs_ceph_iput in vfs_ceph_disk_free
    
    Currently inode of root is using to report stats that works fine for share 
of root volume.
    But for subvolume share it reports incorrect information. Hence choose the 
inode based on path,
    so that it will report stats information correctly.
    
    Bug:https://bugzilla.samba.org/show_bug.cgi?id=15954
    
    Signed-off-by: Shweta Sodani <[email protected]>
    Reviewed-by: Xavi Hernandez <[email protected]>
    Reviewed-by: Anoop C S <[email protected]>
    Reviewed-by: Guenther Deschner <[email protected]>
    
    Autobuild-User(master): Günther Deschner <[email protected]>
    Autobuild-Date(master): Mon Nov 24 18:03:08 UTC 2025 on atb-devel-224
    
    (cherry picked from commit f2ccf020046bc4f0465dfa8b5a8737b018fa66ac)
    
    Autobuild-User(v4-23-test): Björn Jacke <[email protected]>
    Autobuild-Date(v4-23-test): Tue Jan 13 23:33:56 UTC 2026 on atb-devel-224

commit 5b31a12de432df9e751c9306df3297f687ad9e08
Author: Ralph Boehme <[email protected]>
Date:   Fri Nov 21 11:12:13 2025 +0100

    mdssvc: make a copy of the elasticsearch:default_fields
    
    lp_parm_const_string() returns a pointer to loadparm state that is not 
stable
    across loadparm reloads and hence may later point at random garbage.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=15959
    
    Signed-off-by: Ralph Boehme <[email protected]>
    Reviewed-by: Volker Lendecke <[email protected]>
    
    Autobuild-User(master): Volker Lendecke <[email protected]>
    Autobuild-Date(master): Tue Dec 16 18:58:07 UTC 2025 on atb-devel-224
    
    (cherry picked from commit 5f8125665cb2ccad12678f95d20cae09922b3767)

-----------------------------------------------------------------------

Summary of changes:
 source3/modules/vfs_ceph_new.c        | 19 ++++++++-----------
 source3/rpc_server/mdssvc/mdssvc_es.c | 10 ++++++----
 2 files changed, 14 insertions(+), 15 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/modules/vfs_ceph_new.c b/source3/modules/vfs_ceph_new.c
index 3cd7cb8cb4e..6ea8e56c155 100644
--- a/source3/modules/vfs_ceph_new.c
+++ b/source3/modules/vfs_ceph_new.c
@@ -872,13 +872,14 @@ static int vfs_ceph_ll_statfs(const struct 
vfs_handle_struct *handle,
                              struct statvfs *stbuf)
 {
        struct vfs_ceph_config *config = NULL;
+       int ret = -1;
 
        SMB_VFS_HANDLE_GET_DATA(handle, config, struct vfs_ceph_config,
                                return -ENOMEM);
 
-       DBG_DEBUG("[CEPH] ceph_ll_statfs: ino=%" PRIu64 "\n", iref->ino);
-
-       return config->ceph_ll_statfs_fn(config->mount, iref->inode, stbuf);
+       ret = config->ceph_ll_statfs_fn(config->mount, iref->inode, stbuf);
+       DBG_DEBUG("[CEPH] ceph_ll_statfs: ino=%" PRIu64 " ret=%d\n", iref->ino, 
ret);
+       return ret;
 }
 
 static int vfs_ceph_ll_getattr2(const struct vfs_handle_struct *handle,
@@ -2034,25 +2035,21 @@ static uint64_t vfs_ceph_disk_free(struct 
vfs_handle_struct *handle,
                                uint64_t *dsize)
 {
        struct statvfs statvfs_buf = { 0 };
-       struct Inode *inode = NULL;
        int ret;
        struct vfs_ceph_config *config = NULL;
+       struct vfs_ceph_iref iref = {0};
 
        SMB_VFS_HANDLE_GET_DATA(handle, config, struct vfs_ceph_config,
                                return -ENOMEM);
 
-       ret = config->ceph_ll_lookup_root_fn(config->mount, &inode);
+       ret = vfs_ceph_iget(handle, smb_fname->base_name, 0, &iref);
        if (ret != 0) {
-               DBG_DEBUG("[CEPH] disk_free: ceph_ll_lookup_root returned 
ret=%d\n",
-                         ret);
                errno = -ret;
                return (uint64_t)(-1);
        }
-       ret = config->ceph_ll_statfs_fn(config->mount, inode, &statvfs_buf);
-       config->ceph_ll_put_fn(config->mount, inode);
+       ret = vfs_ceph_ll_statfs(handle, &iref, &statvfs_buf);
+       vfs_ceph_iput(handle, &iref);
        if (ret != 0) {
-               DBG_DEBUG("[CEPH] disk_free: ceph_ll_statfs returned ino=%p"
-                         " ret=%d\n", inode, ret);
                errno = -ret;
                return (uint64_t)(-1);
        }
diff --git a/source3/rpc_server/mdssvc/mdssvc_es.c 
b/source3/rpc_server/mdssvc/mdssvc_es.c
index eb19d5fdc4a..59f91271e59 100644
--- a/source3/rpc_server/mdssvc/mdssvc_es.c
+++ b/source3/rpc_server/mdssvc/mdssvc_es.c
@@ -108,10 +108,12 @@ static bool mdssvc_es_init(struct mdssvc_ctx *mdssvc_ctx)
        }
        TALLOC_FREE(default_path);
 
-       mdssvc_es_ctx->default_fields = 
lp_parm_const_string(GLOBAL_SECTION_SNUM,
-                                                            "elasticsearch",
-                                                            "default_fields",
-                                                            default_fields);
+       default_fields = lp_parm_const_string(GLOBAL_SECTION_SNUM,
+                                             "elasticsearch",
+                                             "default_fields",
+                                             default_fields);
+       mdssvc_es_ctx->default_fields = talloc_strdup(mdssvc_es_ctx,
+                                                     default_fields);
        if (mdssvc_es_ctx->default_fields == NULL) {
                TALLOC_FREE(mdssvc_es_ctx);
                return false;


-- 
Samba Shared Repository

Reply via email to