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