The branch, master has been updated
       via  31c2bc58565 vfs_ceph_new: Reduce a level of indirection for 
SMB_VFS_FSTATVFS
       via  644b08737c9 vfs_ceph: Reduce a level of indirection for 
SMB_VFS_FSTATVFS
      from  46a7952880d CVE-2026-20833: WHATSNEW: Document new default for ‘kdc 
default domain supported enctypes’

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 31c2bc58565fb0aa3c75bf800439140219957313
Author: Anoop C S <[email protected]>
Date:   Tue Feb 17 21:51:35 2026 +0530

    vfs_ceph_new: Reduce a level of indirection for SMB_VFS_FSTATVFS
    
    Signed-off-by: Anoop C S <[email protected]>
    Reviewed-by: Volker Lendecke <[email protected]>
    
    Autobuild-User(master): Volker Lendecke <[email protected]>
    Autobuild-Date(master): Wed Feb 18 11:12:23 UTC 2026 on atb-devel-224

commit 644b08737c9d95f593e7e16f630f7fc5dd9434f9
Author: Anoop C S <[email protected]>
Date:   Tue Feb 17 21:50:45 2026 +0530

    vfs_ceph: Reduce a level of indirection for SMB_VFS_FSTATVFS
    
    Signed-off-by: Anoop C S <[email protected]>
    Reviewed-by: Volker Lendecke <[email protected]>

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

Summary of changes:
 source3/modules/vfs_ceph.c     | 20 +++++++-------------
 source3/modules/vfs_ceph_new.c | 21 +++++++--------------
 2 files changed, 14 insertions(+), 27 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/modules/vfs_ceph.c b/source3/modules/vfs_ceph.c
index 830b8b17a4b..3850a61ae63 100644
--- a/source3/modules/vfs_ceph.c
+++ b/source3/modules/vfs_ceph.c
@@ -345,14 +345,14 @@ static uint64_t cephwrap_disk_free(struct 
vfs_handle_struct *handle,
        return *dfree;
 }
 
-static int cephwrap_statvfs(struct vfs_handle_struct *handle,
-                           const struct smb_filename *smb_fname,
-                           struct vfs_statvfs_struct *statbuf)
+static int cephwrap_fstatvfs(struct vfs_handle_struct *handle,
+                            struct files_struct *fsp,
+                            struct vfs_statvfs_struct *statbuf)
 {
        struct statvfs statvfs_buf = { 0 };
        int ret;
 
-       ret = ceph_statfs(handle->data, smb_fname->base_name, &statvfs_buf);
+       ret = ceph_statfs(handle->data, fsp->fsp_name->base_name, &statvfs_buf);
        if (ret < 0) {
                return status_code(ret);
        }
@@ -368,8 +368,9 @@ static int cephwrap_statvfs(struct vfs_handle_struct 
*handle,
        statbuf->FsCapabilities =
                FILE_CASE_SENSITIVE_SEARCH | FILE_CASE_PRESERVED_NAMES;
 
-       DBG_DEBUG("[CEPH] f_bsize: %ld, f_blocks: %ld, f_bfree: %ld, "
-                 "f_bavail: %ld\n",
+       DBG_DEBUG("[CEPH] fstatvfs: name: %s, f_bsize: %ld, f_blocks: %ld, "
+                 "f_bfree: %ld, f_bavail: %ld\n",
+                 fsp->fsp_name->base_name,
                  (long int)statvfs_buf.f_bsize,
                  (long int)statvfs_buf.f_blocks,
                  (long int)statvfs_buf.f_bfree,
@@ -378,13 +379,6 @@ static int cephwrap_statvfs(struct vfs_handle_struct 
*handle,
        return ret;
 }
 
-static int cephwrap_fstatvfs(struct vfs_handle_struct *handle,
-                            struct files_struct *fsp,
-                            struct vfs_statvfs_struct *statbuf)
-{
-       return cephwrap_statvfs(handle, fsp->fsp_name, statbuf);
-}
-
 static uint32_t cephwrap_fs_capabilities(
        struct vfs_handle_struct *handle,
        enum timestamp_set_resolution *p_ts_res)
diff --git a/source3/modules/vfs_ceph_new.c b/source3/modules/vfs_ceph_new.c
index 138b8e51efa..eafce7b30ce 100644
--- a/source3/modules/vfs_ceph_new.c
+++ b/source3/modules/vfs_ceph_new.c
@@ -2493,16 +2493,16 @@ out:
        return ret;
 }
 
-static int vfs_ceph_statvfs(struct vfs_handle_struct *handle,
-                           const struct smb_filename *smb_fname,
-                           struct vfs_statvfs_struct *statbuf)
+static int vfs_ceph_fstatvfs(struct vfs_handle_struct *handle,
+                            struct files_struct *fsp,
+                            struct vfs_statvfs_struct *statbuf)
 {
        struct statvfs statvfs_buf = { 0 };
-       struct vfs_ceph_iref iref = {0};
+       struct vfs_ceph_iref iref = { 0 };
        uint32_t caps = 0;
        int ret;
 
-       ret = vfs_ceph_iget(handle, smb_fname->base_name, 0, &iref);
+       ret = vfs_ceph_iget(handle, fsp->fsp_name->base_name, 0, &iref);
        if (ret != 0) {
                goto out;
        }
@@ -2527,9 +2527,9 @@ static int vfs_ceph_statvfs(struct vfs_handle_struct 
*handle,
        statbuf->FsIdentifier = statvfs_buf.f_fsid;
        statbuf->FsCapabilities = caps;
 
-       DBG_DEBUG("[CEPH] statvfs: name=%s f_bsize=%ld f_blocks=%ld "
+       DBG_DEBUG("[CEPH] fstatvfs: name=%s f_bsize=%ld f_blocks=%ld "
                  "f_bfree=%ld f_bavail=%ld\n",
-                 smb_fname->base_name,
+                 fsp->fsp_name->base_name,
                  (long int)statvfs_buf.f_bsize,
                  (long int)statvfs_buf.f_blocks,
                  (long int)statvfs_buf.f_bfree,
@@ -2539,13 +2539,6 @@ out:
        return status_code(ret);
 }
 
-static int vfs_ceph_fstatvfs(struct vfs_handle_struct *handle,
-                            struct files_struct *fsp,
-                            struct vfs_statvfs_struct *statbuf)
-{
-       return vfs_ceph_statvfs(handle, fsp->fsp_name, statbuf);
-}
-
 static uint32_t vfs_ceph_fs_capabilities(
        struct vfs_handle_struct *handle,
        enum timestamp_set_resolution *p_ts_res)


-- 
Samba Shared Repository

Reply via email to