]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/log
ceph.git
44 hours agomgr/dashboard : Select replicated rule by default in pools form 67841/head
Abhishek Desai [Fri, 20 Mar 2026 06:00:55 +0000 (11:30 +0530)]
mgr/dashboard : Select replicated rule by default in pools form
fixes : https://tracker.ceph.com/issues/75632
Signed-off-by: Abhishek Desai <abhishek.desai1@ibm.com>
45 hours agomgr/dashboard : Fix application names in pools form
Abhishek Desai [Tue, 17 Mar 2026 08:33:21 +0000 (14:03 +0530)]
mgr/dashboard : Fix application names in pools form
Signed-off-by: Abhishek Desai <abhishek.desai1@ibm.com>
45 hours agoMerge pull request #66194 from ShwetaBhosale1/fix_issue_73774_nfs_tls_add_xprtsec
Redouane Kachach [Mon, 20 Apr 2026 11:22:17 +0000 (13:22 +0200)]
Merge pull request #66194 from ShwetaBhosale1/fix_issue_73774_nfs_tls_add_xprtsec

mgr/nfs: Cephadm support for NFS-Ganesha TLS configuration adding new option xprtsec

Reviewed-by: Adam King adking@redhat.com
46 hours agoMerge pull request #66763 from Shubhaj1810/fix-issue-2359181
Redouane Kachach [Mon, 20 Apr 2026 11:03:59 +0000 (13:03 +0200)]
Merge pull request #66763 from Shubhaj1810/fix-issue-2359181

mgr/orchestrator: sort host labels in ceph orch host ls output

Reviewed-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
Reviewed-by: Kushal Deb <Kushal.Deb@ibm.com>
Reviewed-by: Ujjawal Anand <Ujjawal.Anand@ibm.com>
47 hours agoMerge pull request #67828 from linuxbox2/wip-75540
anrao19 [Mon, 20 Apr 2026 09:52:58 +0000 (15:22 +0530)]
Merge pull request #67828 from linuxbox2/wip-75540

rgw_file: always assign string_view of current common_prefix

47 hours agoMerge pull request #67722 from kchheda3/wip-add-transid-notification
anrao19 [Mon, 20 Apr 2026 09:52:47 +0000 (15:22 +0530)]
Merge pull request #67722 from kchheda3/wip-add-transid-notification

rgw/notification: notification Event is not printing the correct  x_amz_request_id.

47 hours agoMerge pull request #67656 from kchheda3/wip-oidc-thumbprint-optional
anrao19 [Mon, 20 Apr 2026 09:52:37 +0000 (15:22 +0530)]
Merge pull request #67656 from kchheda3/wip-oidc-thumbprint-optional

rgw/oidc: make the thumprint field optional

47 hours agoMerge pull request #67616 from smanjara/wip-bucket-sync-run
anrao19 [Mon, 20 Apr 2026 09:52:27 +0000 (15:22 +0530)]
Merge pull request #67616 from smanjara/wip-bucket-sync-run

rgw/multisite: 'bucket sync run' command during full sync does not take a bucket-wide lock

47 hours agoMerge pull request #60387 from thotz/rgw-placement-store-standard-storageclass
anrao19 [Mon, 20 Apr 2026 09:51:27 +0000 (15:21 +0530)]
Merge pull request #60387 from thotz/rgw-placement-store-standard-storageclass

rgw/placement: display storage class in user info dump

47 hours agoMerge pull request #67219 from mertsunacoglu/wip-lua-bucket-metadata
anrao19 [Mon, 20 Apr 2026 09:50:45 +0000 (15:20 +0530)]
Merge pull request #67219 from mertsunacoglu/wip-lua-bucket-metadata

RGW: Add Bucket metadata attribute for Lua scripts

47 hours agoMerge pull request #67365 from Kushal-deb/fix-test-nvmeof-sysctl
Redouane Kachach [Mon, 20 Apr 2026 09:20:34 +0000 (11:20 +0200)]
Merge pull request #67365 from Kushal-deb/fix-test-nvmeof-sysctl

cephadm: reapply hugepages for nvmeof at service start

Reviewed-by: Adam King adking@redhat.com
47 hours agoMerge pull request #67999 from Shubhaj1810/nfs-ganesha-servicemap-fix
Redouane Kachach [Mon, 20 Apr 2026 09:20:03 +0000 (11:20 +0200)]
Merge pull request #67999 from Shubhaj1810/nfs-ganesha-servicemap-fix

mgr/cephadm: align nodeid and add register_service for NFS Ganesha service visibility

Reviewed-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
47 hours agoMerge pull request #68454 from idryomov/wip-76101
Ilya Dryomov [Mon, 20 Apr 2026 09:13:47 +0000 (11:13 +0200)]
Merge pull request #68454 from idryomov/wip-76101

qa: fix setting rbd_sparse_read_threshold_bytes in test_migration_clone()

Reviewed-by: Miki Patel <miki.patel132@gmail.com>
2 days agoMerge pull request #67735 from bachmanity1/fix/cephadm-host-rm-keyerror
Redouane Kachach [Mon, 20 Apr 2026 08:54:17 +0000 (10:54 +0200)]
Merge pull request #67735 from bachmanity1/fix/cephadm-host-rm-keyerror

mgr/cephadm: fix KeyError when host is removed during serve loop

Reviewed-by: Redouane Kachach <rkachach@ibm.com>
2 days agoMerge pull request #67836 from rhcs-dashboard/74243-add-bottom-padding-to-dashboard
Afreen Misbah [Mon, 20 Apr 2026 08:48:40 +0000 (14:18 +0530)]
Merge pull request #67836 from rhcs-dashboard/74243-add-bottom-padding-to-dashboard

mgr/dashboard : Add bottom padding for dashboard screens

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Devika Babrekar <devika.babrekar@ibm.com>
2 days agoMerge pull request #67952 from rhcs-dashboard/stretched-cluster-pool-size
Afreen Misbah [Mon, 20 Apr 2026 08:46:43 +0000 (14:16 +0530)]
Merge pull request #67952 from rhcs-dashboard/stretched-cluster-pool-size

mgr/dashboard : add stretch cluster validation for pools form

Reviewed-by: Afreen Misbah <afreen@ibm.com>
2 days agomgr/nfs: Cephadm support for NFS-Ganesha TLS configuration adding new option xprtsec 66194/head
Shweta Bhosale [Tue, 11 Nov 2025 07:47:31 +0000 (13:17 +0530)]
mgr/nfs: Cephadm support for NFS-Ganesha TLS configuration adding new option xprtsec

Fixes: https://tracker.ceph.com/issues/73774
Signed-off-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
2 days agoMerge pull request #65641 from rkachach/fix_issue_69325
Redouane Kachach [Mon, 20 Apr 2026 08:21:17 +0000 (10:21 +0200)]
Merge pull request #65641 from rkachach/fix_issue_69325

mgr/cephadm: Fix alertmanager TLS and global security handling

Reviewed-by: Adam King adking@redhat.com
2 days agoMerge pull request #66121 from ShwetaBhosale1/fix_issue_73712_fix_nfs_client_commands...
Redouane Kachach [Mon, 20 Apr 2026 08:20:07 +0000 (10:20 +0200)]
Merge pull request #66121 from ShwetaBhosale1/fix_issue_73712_fix_nfs_client_commands_hung_issue

mgr/cephadm: increase default backend health check interval for NFS

Reviewed-by: Adam King adking@redhat.com
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2 days agoMerge pull request #67598 from Kushal-deb/fix-zg-modify
Redouane Kachach [Mon, 20 Apr 2026 08:13:40 +0000 (10:13 +0200)]
Merge pull request #67598 from Kushal-deb/fix-zg-modify

Avoid calling zonegroup modify if realm/zonegroup/zone are not present

Reviewed-by: Redouane Kachach <rkachach@ibm.com>
2 days agoMerge pull request #68061 from JoshuaGabriel/75744-cephadm-zap
Redouane Kachach [Mon, 20 Apr 2026 08:10:04 +0000 (10:10 +0200)]
Merge pull request #68061 from JoshuaGabriel/75744-cephadm-zap

mgr/cephadm: Fixes infinite loop when OSD zap fails during removal

Reviewed-by: Redouane Kachach <rkachach@ibm.com>
2 days agomgr/dashboard : add stretch cluster validation for pools form 67952/head
Abhishek Desai [Wed, 15 Apr 2026 08:45:25 +0000 (14:15 +0530)]
mgr/dashboard : add stretch cluster validation for pools form
fixes : https://tracker.ceph.com/issues/75667
Signed-off-by: Abhishek Desai <abhishek.desai1@ibm.com>
2 days agoMerge pull request #67685 from mheler/wip-cloud-restore-days-zero
Soumya Koduri [Sun, 19 Apr 2026 17:52:14 +0000 (23:22 +0530)]
Merge pull request #67685 from mheler/wip-cloud-restore-days-zero

rgw: require RestoreObject Days >= 1

Reviewed-by: Soumya Koduri <skoduri@redhat.com>
2 days agoMerge pull request #68456 from gbregman/main
Gil Bregman [Sun, 19 Apr 2026 13:16:17 +0000 (16:16 +0300)]
Merge pull request #68456 from gbregman/main

mgr/dashboard: Allow upper case encryption algorithm values in NVMeoF CLI

2 days agomgr/dashboard: Allow upper case encryption algorithm values in NVMeoF CLI 68456/head
Gil Bregman [Sun, 19 Apr 2026 08:35:34 +0000 (11:35 +0300)]
mgr/dashboard: Allow upper case encryption algorithm values in NVMeoF CLI
Fixes: https://tracker.ceph.com/issues/76106
Signed-off-by: Gil Bregman <gbregman@il.ibm.com>
3 days agoMerge pull request #68400 from MaxKellermann/mon_includes2
Kefu Chai [Sun, 19 Apr 2026 06:56:51 +0000 (14:56 +0800)]
Merge pull request #68400 from MaxKellermann/mon_includes2

mon: include cleanup

Reviewed-by: Kefu Chai <k.chai@proxmox.com>
3 days agoMerge pull request #68423 from ceph/caroav-patch-1
Ilya Dryomov [Sat, 18 Apr 2026 17:31:54 +0000 (19:31 +0200)]
Merge pull request #68423 from ceph/caroav-patch-1

doc/rbd: Update NVMe-oF deployment instructions with group name

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
3 days agodoc/rbd: Add group name to nvmeof-target-configure.rst caroav-patch-1 68423/head
Aviv Caro [Thu, 16 Apr 2026 11:43:56 +0000 (14:43 +0300)]
doc/rbd: Add group name to nvmeof-target-configure.rst

Signed-off-by: Aviv Caro <133020857+caroav@users.noreply.github.com>
4 days agoqa: fix setting rbd_sparse_read_threshold_bytes in test_migration_clone() 68454/head
Ilya Dryomov [Sat, 18 Apr 2026 08:43:05 +0000 (10:43 +0200)]
qa: fix setting rbd_sparse_read_threshold_bytes in test_migration_clone()

Currently it's set on the intermediary clone instead of the parent.
As a result the setting is effective only for reads that terminate at
the intermediary clone -- reads that go all the way to the parent may
end up being handled as not sparse depending on their size.

Fixes: https://tracker.ceph.com/issues/76101
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
4 days agorgw: require RestoreObject Days >= 1 67685/head
Matthew N. Heler [Fri, 6 Mar 2026 01:11:19 +0000 (19:11 -0600)]
rgw: require RestoreObject Days >= 1

AWS S3 requires Days to be a positive non-zero integer. Parse Days as
a signed integer and validate in get_params() before any restore state
is modified, returning InvalidArgument for values less than 1.

Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
4 days agoMerge pull request #67601 from soumyakoduri/wip-restore-storage-class
Soumya Koduri [Fri, 17 Apr 2026 15:50:36 +0000 (21:20 +0530)]
Merge pull request #67601 from soumyakoduri/wip-restore-storage-class

rgw/cloud-restore: Restoring to non-existent storage-class should fail

Reviewed-by: Matthew N. Heler <matthew.heler@hotmail.com>
4 days agoMerge pull request #68438 from ShwetaBhosale1/fix_76079_fix_test_scheduling
Redouane Kachach [Fri, 17 Apr 2026 13:11:34 +0000 (15:11 +0200)]
Merge pull request #68438 from ShwetaBhosale1/fix_76079_fix_test_scheduling

mgr/cephadm: Fixed test_scheduling.py

Reviewed-by: Redouane Kachach <rkachach@ibm.com>
4 days agoMerge pull request #67749 from jamiepryde/update-isal-2.32.0
Jamie Pryde [Fri, 17 Apr 2026 13:07:36 +0000 (14:07 +0100)]
Merge pull request #67749 from jamiepryde/update-isal-2.32.0

isa: Update ISA-L from 2.30.0 to 2.32.0

4 days agoMerge pull request #67188 from cbodley/wip-74736
Casey Bodley [Fri, 17 Apr 2026 13:05:41 +0000 (09:05 -0400)]
Merge pull request #67188 from cbodley/wip-74736

rgw/iam: match value of Null condition

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
4 days agomgr/cephadm: fix NFS ganesha service registration via nodeid and register_service 67999/head
Shubha Jain [Mon, 13 Apr 2026 15:55:04 +0000 (21:25 +0530)]
mgr/cephadm: fix NFS ganesha service registration via nodeid and register_service

The NFS Ganesha service was not consistently visible in `ceph -s`,
especially in multi-daemon deployments. This was due to missing or
incorrect service registration with the Ceph manager.

This change updates the ganesha.conf template to explicitly set:

  CEPH {
      register_service = true;
      nodeid = "{{ namespace }}.{{ nodeid }}";
  }

Key points:
- Enables proper service registration in mgr via register_service
- Ensures unique nodeid per daemon using namespace + nodeid
- Fixes visibility of NFS daemons in `ceph -s`
- Works correctly for both single and multi-node deployments

Validation:
- Verified with single NFS daemon → visible in `ceph -s`
- Verified with 3 NFS daemons → all correctly aggregated and visible
- Confirmed export creation activates service visibility
- Tested using Ceph 9.1 (Ganesha 9.7)

No regressions observed.

Fixes: https://tracker.ceph.com/issues/75709
Signed-off-by: Shubha Jain <SHUBHA.JAIN1@ibm.com>
4 days agomgr/cephadm: add nodeid and register_service for NFS Ganesha service visibility
Shubha Jain [Wed, 25 Mar 2026 14:42:26 +0000 (20:12 +0530)]
mgr/cephadm: add nodeid and register_service for NFS Ganesha service visibility

- Add 'name' to template context in nfs.py
- Use consistent nodeid in RADOS_KV and CEPH blocks
- Enable register_service in CEPH block for service map visibility

Note: CEPH block is ignored in Ganesha 5.9 (seen as 'Unknown block (CEPH)' in logs),
so ceph -s visibility cannot be validated upstream. This change is forward-compatible
with newer Ganesha versions.

Fixes: https://tracker.ceph.com/issues/75709
Signed-off-by: Shubha Jain <SHUBHA.JAIN1@ibm.com>
4 days agoMerge pull request #67585 from tchaikov/librbd-silence-asan peering_stuck
Ilya Dryomov [Fri, 17 Apr 2026 11:45:50 +0000 (13:45 +0200)]
Merge pull request #67585 from tchaikov/librbd-silence-asan

librbd: use try_lexical_convert instead of throwing lexical_cast

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
4 days agoMerge pull request #68202 from idryomov/wip-73831
Ilya Dryomov [Fri, 17 Apr 2026 11:44:52 +0000 (13:44 +0200)]
Merge pull request #68202 from idryomov/wip-73831

librbd: avoid losing sparseness in read_parent()

Reviewed-by: Mykola Golub <mykola.golub@clyso.com>
4 days agomgr/orchestrator: sort host labels in ceph orch host ls output 66763/head
Shubha Jain [Tue, 30 Dec 2025 11:46:42 +0000 (17:16 +0530)]
mgr/orchestrator: sort host labels in ceph orch host ls output

Sort host labels alphabetically to improve readability and
consistency across hosts. This matches the behavior of
structured formats such as yaml.

Fixes: https://tracker.ceph.com/issues/74290
Signed-off-by: Shubha Jain <SHUBHA.JAIN1@ibm.com>
4 days agomgr/cephadm: increase default backend health check interval for NFS 66121/head
Shweta Bhosale [Tue, 4 Nov 2025 13:54:27 +0000 (19:24 +0530)]
mgr/cephadm: increase default backend health check interval for NFS

Fixes: https://tracker.ceph.com/issues/73712
Signed-off-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
4 days agomgr/cephadm: Fixed test_scheduling.py 68438/head
Shweta Bhosale [Fri, 17 Apr 2026 09:30:20 +0000 (15:00 +0530)]
mgr/cephadm: Fixed test_scheduling.py
Fixes: https://tracker.ceph.com/issues/76079
Signed-off-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
5 days agoMerge pull request #68392 from rkachach/fix_issue_cepahdm_qa_task
Redouane Kachach [Fri, 17 Apr 2026 08:50:46 +0000 (10:50 +0200)]
Merge pull request #68392 from rkachach/fix_issue_cepahdm_qa_task

qa: fix misleading "in cluster log" failures during cluster log scan

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Zack Cerza <zack@redhat.com>
Reviewed-by: Yuri Weinstein <yweins@redhat.com>
5 days agoMerge pull request #68297 from tchaikov/wip-feedback-without-tracker
Kefu Chai [Fri, 17 Apr 2026 05:34:51 +0000 (13:34 +0800)]
Merge pull request #68297 from tchaikov/wip-feedback-without-tracker

mgr/feedback: fix flaky test_issue_tracker_create_with_invalid_key

Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Afreen Misbah <afreen@ibm.com>
5 days agoMerge PR #68245 into main
Patrick Donnelly [Thu, 16 Apr 2026 23:58:06 +0000 (19:58 -0400)]
Merge PR #68245 into main

* refs/pull/68245/head:
mon/MonClient: check stopping for auth request handling

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
5 days agoMerge pull request #68289 from cbodley/wip-75945
Casey Bodley [Thu, 16 Apr 2026 20:18:38 +0000 (16:18 -0400)]
Merge pull request #68289 from cbodley/wip-75945

qa/valgrind: generalize suppressions for gcc-14 MismatchedFree

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
5 days agoMerge pull request #68113 from benhanokh/dedup_split_head_with_tail_objects
Gabriel Benhanokh [Thu, 16 Apr 2026 18:01:29 +0000 (21:01 +0300)]
Merge pull request #68113 from benhanokh/dedup_split_head_with_tail_objects

rgw/dedup: split-head for objects with tails

5 days agoMerge PR #67823 into main
Patrick Donnelly [Thu, 16 Apr 2026 16:29:26 +0000 (12:29 -0400)]
Merge PR #67823 into main

* refs/pull/67823/head:
qa: remove unused qa_scripts

Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 days agoMerge PR #67822 into main
Patrick Donnelly [Thu, 16 Apr 2026 16:28:52 +0000 (12:28 -0400)]
Merge PR #67822 into main

* refs/pull/67822/head:
qa: remove vestiges of ceph-deploy
doc: remove references to ceph-deploy

Reviewed-by: Anthony D Atri <anthony.datri@gmail.com>
5 days agoMerge pull request #67493 from kginonredhat/Bug-56660-Haproxy-error-for-rgw-service...
Redouane Kachach [Thu, 16 Apr 2026 14:21:49 +0000 (16:21 +0200)]
Merge pull request #67493 from kginonredhat/Bug-56660-Haproxy-error-for-rgw-service-with-ipv6

added code to fix failure on Haproxy error for rgw service with ipv6

Reviewed-by: Redouane Kachach <rkachach@ibm.com>
5 days agoMerge pull request #66257 from ShwetaBhosale1/fix_issue_73851_cephadm_crashes_when_ga...
Redouane Kachach [Thu, 16 Apr 2026 13:48:08 +0000 (15:48 +0200)]
Merge pull request #66257 from ShwetaBhosale1/fix_issue_73851_cephadm_crashes_when_ganesha-rados-grace_fails

mgr/cephadm: Handle ganesha-rados-grace tool failure

Reviewed-by: Redouane Kachach <rkachach@ibm.com>
Reviewed-by: Adam King <adking@redhat.com>
5 days agoMerge pull request #66313 from ShwetaBhosale1/fix_issue_73912_prometheus_cannot_acces...
Redouane Kachach [Thu, 16 Apr 2026 13:47:00 +0000 (15:47 +0200)]
Merge pull request #66313 from ShwetaBhosale1/fix_issue_73912_prometheus_cannot_access_nfs_metrics_endpoints

mgr/cephadm: Allow NFS monitoring port through firewall

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Redouane Kachach <rkachach@ibm.com>
5 days agoMerge pull request #66381 from ShwetaBhosale1/fix_issue_73949_nfs_with_keepalived_only
Redouane Kachach [Thu, 16 Apr 2026 13:45:58 +0000 (15:45 +0200)]
Merge pull request #66381 from ShwetaBhosale1/fix_issue_73949_nfs_with_keepalived_only

mgr/cephadm: Fix NFS to work properly in keepalived-only ingress mode

Reviewed-by: Redouane Kachach <rkachach@ibm.com>
Reviewed-by: Adam King <adking@redhat.com>
5 days agoMerge pull request #68391 from ifed01/wip-ifed-fix-fcm
Igor Fedotov [Thu, 16 Apr 2026 13:19:12 +0000 (16:19 +0300)]
Merge pull request #68391 from ifed01/wip-ifed-fix-fcm

extblkdev/fcm: do not abort on multi-device volume before we discover…

Reviewed-by: Adam Kupczyk <akupczyk@ibm.com>
5 days agomon/MonClient: check stopping for auth request handling 68245/head
Patrick Donnelly [Tue, 31 Mar 2026 13:10:08 +0000 (18:40 +0530)]
mon/MonClient: check stopping for auth request handling

When the MonClient is shutting down, it is no longer safe to
access MonClient::auth and other members. The AuthClient
methods should be checking the stopping flag in this case.

The key bit from the segfault backtrace (thanks Brad Hubbard!) is here:

#13 0x00007f921ee23c40 in ProtocolV2::handle_auth_done (this=0x7f91cc0945f0, payload=...) at /usr/include/c++/12/bits/shared_ptr_base.h:1665
#14 0x00007f921ee16a29 in ProtocolV2::run_continuation (this=0x7f91cc0945f0, continuation=...) at msg/./src/msg/async/ProtocolV2.cc:54
#15 0x00007f921edee56e in std::function<void (char*, long)>::operator()(char*, long) const (__args#1=0, __args#0=<optimized out>, this=0x7f91cc0744d8) at /usr/include/c++/12/bits/std_function.h:591
#16 AsyncConnection::process (this=0x7f91cc074140) at msg/./src/msg/async/AsyncConnection.cc:485
#17 0x00007f921ee3300c in EventCenter::process_events (this=0x55efc9d0a058, timeout_microseconds=<optimized out>, working_dur=0x7f921a891d88) at msg/./src/msg/async/Event.cc:465
#18 0x00007f921ee38bf9 in operator() (__closure=<optimized out>) at msg/./src/msg/async/Stack.cc:50
#19 std::__invoke_impl<void, NetworkStack::add_thread(Worker*)::<lambda()>&> (__f=...) at /usr/include/c++/12/bits/invoke.h:61
#20 std::__invoke_r<void, NetworkStack::add_thread(Worker*)::<lambda()>&> (__fn=...) at /usr/include/c++/12/bits/invoke.h:111
#21 std::_Function_handler<void(), NetworkStack::add_thread(Worker*)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/12/bits/std_function.h:290
#22 0x00007f921e81f253 in std::execute_native_thread_routine (__p=0x55efc9e9c5f0) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:82
#23 0x00007f921f5e8ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#24 0x00007f921f67a8d0 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

I originally thought this may be the issue causing [1] however that
turned out to be an issue caused by OpenSSL's use of atexit handlers.

I still think there is a bug here so I am continuing with this change.

[1] https://tracker.ceph.com/issues/59335

Fixes: https://tracker.ceph.com/issues/76017
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
6 days agoMerge pull request #68205 from idryomov/wip-transient-policy-release-note
Ilya Dryomov [Thu, 16 Apr 2026 09:00:58 +0000 (11:00 +0200)]
Merge pull request #68205 from idryomov/wip-transient-policy-release-note

doc: add RBD_LOCK_MODE_EXCLUSIVE_TRANSIENT release note

Reviewed-by: Miki Patel <miki.patel132@gmail.com>
6 days agorgw/dedup: This PR extends the RGW dedup split-head feature to support objects that... 68113/head
benhanokh [Mon, 30 Mar 2026 08:22:51 +0000 (11:22 +0300)]
rgw/dedup: This PR extends the RGW dedup split-head feature to support objects that already have tail RADOS objects (i.e. objects larger than the head chunk size).
Previously, split-head was restricted to objects whose entire data fit in the head (≤4 MiB).
It also migrates the split-head manifest representation from the legacy explicit-objs format to the prefix+index rules-based format.

Refactored should_split_head():
Now performs a larger set of eligibility checks:
 * d_split_head flag is set
 * single-part object only
 * non-empty head
 * not a legacy manifest
 * not an Alibaba Cloud OSS AppendObject

Explicit skips for unsupported manifest types:
 — old-style explicit-objs manifests
 — OSS AppendObject manifests (detected via non-empty override_prefix)

New config option: rgw_dedup_split_obj_head:
  Default is true (split-head enabled).
  Setting to false disables split-head entirely.

Tail object lookup via manifest iterator:
  Replaces the old get_tail_ioctx() which manually constructed the tail OID via generate_split_head_tail_name().
  The new function simply calls manifest.obj_begin() and resolves the first tail object location through the standard manifest iterator.

Stats cleanup:
Removed the "Potential Dedup" stats section (small_objs_stat, dup_head_bytes, dup_head_bytes_estimate, ingress_skip_too_small_64KB*)
 which tracked 64KB–4MB objects as potential-but-skipped candidates.
 Since split-head now covers all sizes, this distinction is no longer meaningful. calc_deduped_bytes() is simplified accordingly.

Signed-off-by: benhanokh <gbenhano@redhat.com>
6 days agolibrbd: tweak ReadResult's handler for SparseBufferlist type 68202/head
Ilya Dryomov [Fri, 16 Jan 2026 19:38:48 +0000 (20:38 +0100)]
librbd: tweak ReadResult's handler for SparseBufferlist type

It's similar in concept to the handler for the new ChildObject type.
To highlight that, make comments and log messages consistent between
the two.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
6 days agolibrbd: avoid losing sparseness in read_parent()
Ilya Dryomov [Thu, 15 Jan 2026 12:56:13 +0000 (13:56 +0100)]
librbd: avoid losing sparseness in read_parent()

When read_parent() constructs a read for image_ctx->parent, it employs
a thick bufferlist (either re-using the bufferlist on the object extent
or creating a temporary one inside of C_ObjectReadMergedExtents).  This
forgoes any sparseness: even if the result obtained by ObjectRequest is
sparse, it's thickened by ReadResult's handler for Bufferlist type.

This behavior is very old and hasn't been a problem for regular clones
because the public API returns a thick bufferlist in the case of C++ or
equivalent char* buf/struct iovec iov[] buffers in the case of C anyway.
ObjectCacher isn't sparse-aware but it's also not used for caching reads
by default and reading from parent for the purposes of a copyup is done
in CopyupRequest in a way that preserves sparseness.  However, when it
comes to migration, source image reads go through read_parent() and the
destination image gets thickened as an inadvertent side effect.

Fix this by introducing a new ChildObject type for ReadResult whose
handler would plant the result obtained by parent's ObjectRequest into
child's ObjectRequest, as if read_parent() wasn't even called.

Fixes: https://tracker.ceph.com/issues/73831
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
6 days agoMerge pull request #68383 from amathuria/wip-amat-fix-bad-statemachine-event
Matan Breizman [Thu, 16 Apr 2026 08:14:11 +0000 (11:14 +0300)]
Merge pull request #68383 from amathuria/wip-amat-fix-bad-statemachine-event

crimson/osd: fix race between AllReplicasRecovered and DeferRecovery

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
6 days agoqa: fix misleading "in cluster log" failures during cluster log scan 68392/head
Redouane Kachach [Wed, 15 Apr 2026 16:05:36 +0000 (18:05 +0200)]
qa: fix misleading "in cluster log" failures during cluster log scan

Summary:

Fix misleading failure reasons reported as `"… in cluster log"` when
no such log entry actually exists.

The cephadm task currently treats `grep` errors from the cluster log
scan as if they were actual log matches. This can produce bogus
failure summaries when `ceph.log` is missing, especially after early
failures such as image pull or bootstrap problems.

Problem:

first_in_ceph_log() currently:

- returns stdout if a match is found
- otherwise returns stderr

The caller then treats any non-None value as a real cluster log hit and formats it as:

"<value>" in cluster log

That means an error like:

  grep: /var/log/ceph/<fsid>/ceph.log: No such file or directory

can be misreported as if it came from the cluster log.

This change makes cluster log scanning robust and accurate by:

- checking whether /var/log/ceph/<fsid>/ceph.log exists before scanning
- using check_status=False for the grep pipeline
- treating only stdout as a real log match
- treating stderr as a scan error instead of log content
- avoiding overwrite of a more accurate pre-existing failure_reason
- reporting scan failures separately as cluster log scan failed

Fixes: https://tracker.ceph.com/issues/76051
Signed-off-by: Redouane Kachach <rkachach@ibm.com>
6 days agoMerge pull request #68154 from leiwen2025/rv64-crc32c
Kefu Chai [Thu, 16 Apr 2026 06:55:48 +0000 (14:55 +0800)]
Merge pull request #68154 from leiwen2025/rv64-crc32c

src/common: optimize crc32c using zbc extension for riscv64

Reviewed-by: Kefu Chai <k.chai@proxmox.com>
6 days agoMerge pull request #68301 from rhcs-dashboard/inline-edit-emitter
Nizamudeen A [Thu, 16 Apr 2026 05:59:12 +0000 (11:29 +0530)]
Merge pull request #68301 from rhcs-dashboard/inline-edit-emitter

mgr/dashboard: table cell inline edit emit editing state

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
6 days agoMerge pull request #68282 from tchaikov/wip-mgr-module-neg-exit-code
Kefu Chai [Thu, 16 Apr 2026 05:13:05 +0000 (13:13 +0800)]
Merge pull request #68282 from tchaikov/wip-mgr-module-neg-exit-code

mgr/crash, mgr/status: return negative errno to fix CLI exit code

Reviewed-by: Dan Mick <dmick@ibm.com>
6 days agoMerge pull request #68283 from tchaikov/wip-ceph-crash-less-noisy
Kefu Chai [Thu, 16 Apr 2026 05:11:59 +0000 (13:11 +0800)]
Merge pull request #68283 from tchaikov/wip-ceph-crash-less-noisy

ceph-crash: reduce log noise from auth fallback in post_crash()

Reviewed-by: Dan Mick <dmick@ibm.com>
6 days agoMerge pull request #68181 from cloudbehl/subvolume-fixes-for-double-values
Aashish Sharma [Thu, 16 Apr 2026 05:00:07 +0000 (10:30 +0530)]
Merge pull request #68181 from cloudbehl/subvolume-fixes-for-double-values

Fixes for subvolume overview in grafana

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
6 days agoMerge pull request #68403 from phlogistonjohn/jjm-codeowners-build-sig
Dan Mick [Thu, 16 Apr 2026 03:45:49 +0000 (20:45 -0700)]
Merge pull request #68403 from phlogistonjohn/jjm-codeowners-build-sig

CODEOWNERS: add a build-sig group for various build / test files

6 days agoCODEOWNERS: add a build-sig group for various build / test files 68403/head
John Mulligan [Wed, 15 Apr 2026 21:15:03 +0000 (17:15 -0400)]
CODEOWNERS: add a build-sig group for various build / test files

Add a new build-sig group that covers some of the high level tools and
scripts used in the build and CI processes. This should help PRs not
pass by without notifying people who care about these things.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
6 days agomon/MonClient: un-inline MonCommand ctor/dtor to reduce compile times 68400/head
Max Kellermann [Wed, 13 Nov 2024 17:21:49 +0000 (18:21 +0100)]
mon/MonClient: un-inline MonCommand ctor/dtor to reduce compile times

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
6 days agomon/MonClient: eliminate duplicate start_mon_command() overload
Max Kellermann [Tue, 12 Aug 2025 09:30:14 +0000 (11:30 +0200)]
mon/MonClient: eliminate duplicate start_mon_command() overload

The only difference was that the first overload implied mon_rank==-1.

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
6 days agomon/MonClient: move inner class ContextVerter out of the header
Max Kellermann [Tue, 12 Aug 2025 09:11:39 +0000 (11:11 +0200)]
mon/MonClient: move inner class ContextVerter out of the header

Reduce compile times by compiling these start_mon_command() overloads
only once.

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
6 days agomon/OSDMonitor: include cleanup
Max Kellermann [Fri, 15 Aug 2025 09:59:12 +0000 (11:59 +0200)]
mon/OSDMonitor: include cleanup

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
6 days agoRevert "vstart: disable extblkdev plugins for file-backed OSDs" 68391/head
Igor Fedotov [Wed, 15 Apr 2026 18:42:46 +0000 (21:42 +0300)]
Revert "vstart: disable extblkdev plugins for file-backed OSDs"

This reverts commit 92e902ecfe2cfed217136dc64e47500ec50f9c07.

Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
6 days agoextblkdev/fcm: do not abort on multi-device volume before we discovered it's FCM one
Igor Fedotov [Wed, 15 Apr 2026 15:46:56 +0000 (18:46 +0300)]
extblkdev/fcm: do not abort on multi-device volume before we discovered it's FCM one

https://tracker.ceph.com/issues/75819

Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
6 days agoqa/valgrind: generalize and group MismatchedFree suppressions 68289/head
Casey Bodley [Tue, 14 Apr 2026 18:50:04 +0000 (14:50 -0400)]
qa/valgrind: generalize and group MismatchedFree suppressions

combine the various MismatchedFree suppressions into unconditional ones
for each function

Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 days agoFixes for subvolume overview in grafana 68181/head
Ankush Behl [Thu, 2 Apr 2026 11:00:09 +0000 (16:30 +0530)]
Fixes for subvolume overview in grafana
- multiple values were shown in graph and single state
- Remove All selection from subvolume path

fixes: https://tracker.ceph.com/issues/75849

Signed-off-by: Ankush Behl <cloudbehl@gmail.com>
6 days agoMerge pull request #68355 from nhoad/pretty-format-docs
Casey Bodley [Wed, 15 Apr 2026 13:29:08 +0000 (09:29 -0400)]
Merge pull request #68355 from nhoad/pretty-format-docs

rgw: Add documentation for the --pretty-format option

Reviewed-by: Casey Bodley <cbodley@redhat.com>
6 days agoMerge pull request #68062 from anthonyeleven/global.yaml.in
Anthony D'Atri [Wed, 15 Apr 2026 13:22:37 +0000 (09:22 -0400)]
Merge pull request #68062 from anthonyeleven/global.yaml.in

src/common/options: Modernize language in global.yaml.in

6 days agoMerge pull request #65986 from HeinleinSupport/wip-cephadm-72696
Guillaume Abrioux [Wed, 15 Apr 2026 13:18:26 +0000 (15:18 +0200)]
Merge pull request #65986 from HeinleinSupport/wip-cephadm-72696

mgr/cephadm: renames ceph_device to ceph_device_lvm

6 days agoMerge PR #67032 into main
Patrick Donnelly [Wed, 15 Apr 2026 13:11:34 +0000 (09:11 -0400)]
Merge PR #67032 into main

* refs/pull/67032/head:
qa: add trivial cephfs-tool bench test
doc/cephfs: add cephfs-tool documentation
tools/cephfs: add new cephfs-tool

Reviewed-by: Venky Shankar <vshankar@redhat.com>
6 days agomgr/dashboard: table cell inline edit emit editing state 68301/head
Nizamudeen A [Fri, 10 Apr 2026 06:25:27 +0000 (11:55 +0530)]
mgr/dashboard: table cell inline edit emit editing state

- Emit the editing state so that the consuming component can manipulate
that to add some extra validations

- Replace button with cds-icon-button.
- Replace submit button with tertiary instead of ghost for visibility.
- Also added a cancel button to cancel the ongoing edit

Fixes: https://tracker.ceph.com/issues/75949
Signed-off-by: Nizamudeen A <nia@redhat.com>
6 days agoMerge pull request #68322 from anthonyeleven/percent
Anthony D'Atri [Wed, 15 Apr 2026 12:07:45 +0000 (08:07 -0400)]
Merge pull request #68322 from anthonyeleven/percent

doc/rados/configuration: Update bluestore-config-ref.rst WAL+DB sizing

6 days agocrimson/osd: fix race between AllReplicasRecovered and DeferRecovery 68383/head
Aishwarya Mathuria [Tue, 14 Apr 2026 07:59:36 +0000 (13:29 +0530)]
crimson/osd: fix race between AllReplicasRecovered and DeferRecovery

Fixes a crash where AllReplicasRecovered event arrives at NotRecovering
state due to async event delivery race with DeferRecovery preemption.

The issue occurs when:
1. Recovery completes and AllReplicasRecovered is queued asynchronously
2. A higher priority operation (e.g., client I/O) triggers AsyncReserver
   to preempt recovery, posting DeferRecovery event
3. DeferRecovery is processed first, transitioning PG to NotRecovering
4. AllReplicasRecovered arrives at wrong state → crash with "bad state
   machine event" because NotRecovering doesn't handle it

The fix follows Classic OSD's approach in PrimaryLogPG::start_recovery_ops():
clear PG_STATE_RECOVERING before posting recovery completion events. This
makes the existing safety check in PeeringState::Recovering::react() work:
when DeferRecovery arrives and sees !state_test(PG_STATE_RECOVERING), it
discards itself, preventing the state transition that would cause the crash.

Fixes:https://tracker.ceph.com/issues/73314
Signed-off-by: Aishwarya Mathuria <amathuri@redhat.com>
7 days agocephadm: fix HAProxy/RGW IPv6 failure (ip_nonlocal_bind) 67493/head
kginon [Tue, 24 Feb 2026 18:28:56 +0000 (20:28 +0200)]
cephadm: fix HAProxy/RGW IPv6 failure (ip_nonlocal_bind)

Fixes: https://tracker.ceph.com/issues/56660
Signed-off-by: Kobi Ginon <kginon@redhat.com>
7 days agoMerge pull request #68367 from guits/fix-orch-osd-add-raw
Guillaume Abrioux [Wed, 15 Apr 2026 07:05:04 +0000 (09:05 +0200)]
Merge pull request #68367 from guits/fix-orch-osd-add-raw

cephadm: wait for latest osd map after ceph-volume before OSD deploy

7 days agoMerge pull request #68336 from rhcs-dashboard/rm-golang-gh-prom
Nizamudeen A [Wed, 15 Apr 2026 06:31:49 +0000 (12:01 +0530)]
Merge pull request #68336 from rhcs-dashboard/rm-golang-gh-prom

ceph.spec.in: replace golang github prometheus with promtool binary path

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: John Mulligan
7 days agoMerge pull request #68298 from tchaikov/wip-rgw-inotify-ctor
Casey Bodley [Tue, 14 Apr 2026 18:38:58 +0000 (14:38 -0400)]
Merge pull request #68298 from tchaikov/wip-rgw-inotify-ctor

rgw/posix: fix Inotify member initialization order race

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
7 days agoMerge pull request #68351 from joscollin/wip-TestCorruptedSubvolumes-fix
Venky Shankar [Tue, 14 Apr 2026 18:02:22 +0000 (23:32 +0530)]
Merge pull request #68351 from joscollin/wip-TestCorruptedSubvolumes-fix

qa: update yaml file for TestCorruptedSubvolumes

Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
7 days agoMerge PR #66294 into main
Patrick Donnelly [Tue, 14 Apr 2026 15:46:54 +0000 (11:46 -0400)]
Merge PR #66294 into main

* refs/pull/66294/head:
qa: enforce centos9 for test
qa: rename distro
qa/suites/fs/bugs: use centos9 for squid upgrade test
qa: remove unused variables
qa: use centos9 for fs suites using k-testing
qa: update fs suite to rocky10
qa: skip dashboard install due to dependency noise
qa: only setup nat rules during bridge creation
qa: correct wording of comment
qa: use nft instead iptables
qa: use py3 builtin ipaddress module

Reviewed-by: Venky Shankar <vshankar@redhat.com>
7 days agoMerge pull request #62351 from vshankar/wip-revert-referent-inodes
Venky Shankar [Tue, 14 Apr 2026 15:35:25 +0000 (21:05 +0530)]
Merge pull request #62351 from vshankar/wip-revert-referent-inodes

mds: revert referent inode work

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
7 days agoMerge pull request #68034 from timqn22/add-multi-line-to-yaml-representer
Redouane Kachach [Tue, 14 Apr 2026 14:20:40 +0000 (16:20 +0200)]
Merge pull request #68034 from timqn22/add-multi-line-to-yaml-representer

python-common: multi-line for yaml

Reviewed-by: Redouane Kachach <rkachach@redhat.com>
Reviewed-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
7 days agoMerge pull request #68239 from Kushal-deb/fix-nvme-apply-path
Redouane Kachach [Tue, 14 Apr 2026 14:16:49 +0000 (16:16 +0200)]
Merge pull request #68239 from Kushal-deb/fix-nvme-apply-path

mgr/cephadm: create default pool for nvmeof

Reviewed-by: Redouane Kachach <rkachach@redhat.com>
7 days agoqa: update yaml file for TestCorruptedSubvolumes 68351/head
Jos Collin [Mon, 13 Apr 2026 10:30:57 +0000 (16:00 +0530)]
qa: update yaml file for TestCorruptedSubvolumes

Update yaml file to include TestCorruptedSubvolumes in qa tests.

Fixes: https://tracker.ceph.com/issues/76001
Signed-off-by: Jos Collin <jcollin@redhat.com>
7 days agoqa: remove vestiges of ceph-deploy 67822/head
Patrick Donnelly [Mon, 16 Mar 2026 16:12:44 +0000 (12:12 -0400)]
qa: remove vestiges of ceph-deploy

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
7 days agodoc: remove references to ceph-deploy
Patrick Donnelly [Mon, 16 Mar 2026 15:56:43 +0000 (11:56 -0400)]
doc: remove references to ceph-deploy

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
7 days agoqa: add trivial cephfs-tool bench test 67032/head
Patrick Donnelly [Tue, 14 Apr 2026 12:57:33 +0000 (08:57 -0400)]
qa: add trivial cephfs-tool bench test

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
7 days agodoc/cephfs: add cephfs-tool documentation
Patrick Donnelly [Wed, 21 Jan 2026 18:37:50 +0000 (13:37 -0500)]
doc/cephfs: add cephfs-tool documentation

AI-Assisted: this doc was generated from the help text / inital commit memssage
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
7 days agotools/cephfs: add new cephfs-tool
Patrick Donnelly [Wed, 21 Jan 2026 17:25:31 +0000 (12:25 -0500)]
tools/cephfs: add new cephfs-tool

This patch introduces `cephfs-tool`, a new standalone C++ utility
designed to interact directly with `libcephfs`.

While the tool is architected to support various subcommands in the
future, the initial implementation focuses on a `bench` command to
measure library performance. This allows developers and administrators
to benchmark the userspace library isolated from FUSE or Kernel client
overheads.

Key features include:
* Multi-threaded Read/Write throughput benchmarking.
* Configurable block sizes, file counts, and fsync intervals.
* Detailed statistical reporting (Mean, Std Dev, Min/Max) for throughput and IOPS.
* Support for specific CephFS user/group impersonation (UID/GID) via `ceph_mount_perms_set`.

As an example test on a "trial" sepia machine against the new LRC, I
used a command like:

    pdonnell@trial154:~$ env CEPH_ARGS="--log-to-stderr=false --log-to-file=false --log-file=/tmp/bench.log" ./cephfs-tool -c ~/ceph.conf -k ~/keyring -i scratch --filesystem scratch  bench --root-path=/pdonnell --files 256 --size=$(( 128 * 2 ** 20 )) --threads=8 --iterations 3
    Benchmark Configuration:
      Threads: 8 | Iterations: 3
      Files: 256 | Size: 134217728
      Filesystem: scratch
      Root: /pdonnell
      Subdirectory: bench_run_d942
      UID: -1
      GID: -1

    --- Iteration 1 of 3 ---
    Starting Write Phase...
      Write: 2761.97 MB/s, 21.5779 files/s (11.864s)
    Starting Read Phase...
      Read:  2684.36 MB/s, 20.9716 files/s (12.207s)

    --- Iteration 2 of 3 ---
    Starting Write Phase...
      Write: 2698.51 MB/s, 21.0821 files/s (12.143s)
    Starting Read Phase...
      Read:  2682.16 MB/s, 20.9544 files/s (12.217s)

    --- Iteration 3 of 3 ---
    Starting Write Phase...
      Write: 2720.69 MB/s, 21.2554 files/s (12.044s)
    Starting Read Phase...
      Read:  2695.18 MB/s, 21.0561 files/s (12.158s)

    *** Final Report ***

    Write Throughput Statistics (3 runs):
      Mean:    2727.06 MB/s
      Std Dev: 26.2954 MB/s
      Min:     2698.51 MB/s
      Max:     2761.97 MB/s

    Read Throughput Statistics (3 runs):
      Mean:    2687.24 MB/s
      Std Dev: 5.68904 MB/s
      Min:     2682.16 MB/s
      Max:     2695.18 MB/s

    File Creates Statistics (3 runs):
      Mean:    21.3051 files/s
      Std Dev: 0.205433 files/s
      Min:     21.0821 files/s
      Max:     21.5779 files/s

    File Reads (Opens) Statistics (3 runs):
      Mean:    20.994 files/s
      Std Dev: 0.0444456 files/s
      Min:     20.9544 files/s
      Max:     21.0561 files/s

    Cleaning up...

For a 25Gb NIC, this is just about saturating the sticker bandwidth with
a single shared mount and 8 threads. For a per-thread mount:

    pdonnell@trial154:~$ env CEPH_ARGS="--log-to-stderr=false --log-to-file=false --log-file=/tmp/bench.log" ./cephfs-tool -c ~/ceph.conf -k ~/keyring -i scratch --filesystem scratch  bench --root-path=/pdonnell --files 256 --size=$(( 128 * 2 ** 20 )) --threads=8 --iterations 3 --per-thread-mount
    Benchmark Configuration:
      Threads: 8 | Iterations: 3
      Files: 256 | Size: 134217728
      Filesystem: scratch
      Root: /pdonnell
      Subdirectory: bench_run_9d1c
      UID: -1
      GID: -1

    --- Iteration 1 of 3 ---
    Starting Write Phase...
      Write: 2691.2 MB/s, 21.025 files/s (12.176s)
    Starting Read Phase...
      Read:  2486.76 MB/s, 19.4278 files/s (13.177s)

    --- Iteration 2 of 3 ---
    Starting Write Phase...
      Write: 2688.77 MB/s, 21.006 files/s (12.187s)
    Starting Read Phase...
      Read:  2496.42 MB/s, 19.5033 files/s (13.126s)

    --- Iteration 3 of 3 ---
    Starting Write Phase...
      Write: 2692.08 MB/s, 21.0319 files/s (12.172s)
    Starting Read Phase...
      Read:  2488.27 MB/s, 19.4396 files/s (13.169s)
    *** Final Report ***

    Write Throughput Statistics (3 runs):
      Mean:    2690.68 MB/s
      Std Dev: 1.40086 MB/s
      Min:     2688.77 MB/s
      Max:     2692.08 MB/s

    Read Throughput Statistics (3 runs):
      Mean:    2490.48 MB/s
      Std Dev: 4.24374 MB/s
      Min:     2486.76 MB/s
      Max:     2496.42 MB/s

    File Creates Statistics (3 runs):
      Mean:    21.0209 files/s
      Std Dev: 0.0109442 files/s
      Min:     21.006 files/s
      Max:     21.0319 files/s

    File Reads (Opens) Statistics (3 runs):
      Mean:    19.4569 files/s
      Std Dev: 0.0331542 files/s
      Min:     19.4278 files/s
      Max:     19.5033 files/s

    Cleaning up...

Or to measure file create performance:

    pdonnell@trial154:~$ env CEPH_ARGS="--log-to-stderr=false --log-to-file=false --log-file=/tmp/bench.log" ./cephfs-tool -c ~/ceph.conf -k ~/keyring -i scratch --filesystem scratch  bench --root-path=/pdonnell --files=$(( 2 ** 16 )) --size=$(( 0 * 2 ** 20 )) --threads=8 --iterations 3
    Benchmark Configuration:
      Threads: 8 | Iterations: 3
      Files: 65536 | Size: 0
      Filesystem: scratch
      Root: /pdonnell
      Subdirectory: bench_run_d435
      UID: -1
      GID: -1

    --- Iteration 1 of 3 ---
    Starting Write Phase...
      Write: 3974.77 files/s (16.488s)
    Starting Read Phase...
      Read:  14537.7 files/s (4.508s)
    Cleaning up for next iteration...

    --- Iteration 2 of 3 ---
    Starting Write Phase...
      Write: 4167.1 files/s (15.727s)
    Starting Read Phase...
      Read:  13636.3 files/s (4.806s)
    Cleaning up for next iteration...

    --- Iteration 3 of 3 ---
    Starting Write Phase...
      Write: 3863.7 files/s (16.962s)
    Starting Read Phase...
      Read:  14972.8 files/s (4.377s)

    *** Final Report ***

    File Creates Statistics (3 runs):
      Mean:    4001.86 files/s
      Std Dev: 125.337 files/s
      Min:     3863.7 files/s
      Max:     4167.1 files/s

    File Reads (Opens) Statistics (3 runs):
      Mean:    14382.3 files/s
      Std Dev: 556.594 files/s
      Min:     13636.3 files/s
      Max:     14972.8 files/s

    Cleaning up...

Here is the current help text:

    Usage: cephfs-bench [general-options] <command> [command-options]

    Commands:
      bench      Run IO benchmark

    Allowed options:

    General Options:
      -h [ --help ]                   Produce help message
      -c [ --conf ] arg               Ceph config file path
      -i [ --id ] arg (=admin)        Client ID
      -k [ --keyring ] arg            Path to keyring file
      --filesystem arg                CephFS filesystem name to mount
      --uid arg (=-1)                 User ID to mount as
      --gid arg (=-1)                 Group ID to mount as

    Benchmark Options (used with 'bench' command):
      --threads arg (=1)              Number of threads
      --iterations arg (=1)           Number of iterations
      --files arg (=100)              Total number of files
      --size arg (=4MB)               File size (e.g. 4MB, 0 for creates only)
      --block-size arg (=4MB)         IO block size (e.g. 1MB)
      --fsync-every arg (=0)          Call fsync every N bytes
      --prefix arg (=benchmark_)      Filename prefix
      --dir-prefix arg (=bench_run_)  Directory prefix
      --root-path arg (=/)            Root path in CephFS
      --per-thread-mount              Use separate mount per thread
      --no-cleanup                    Disable cleanup of files

AI-Assisted: significant portions of this code were AI-generated through a dozens of iterative prompts.
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
7 days agoMerge PR #67555 into main
Patrick Donnelly [Tue, 14 Apr 2026 12:18:07 +0000 (08:18 -0400)]
Merge PR #67555 into main

* refs/pull/67555/head:
qa/tasks/quiescer: remove racy assertion

Reviewed-by: Rishabh Dave <ridave@redhat.com>
7 days agoMerge PR #68360 into main
Patrick Donnelly [Tue, 14 Apr 2026 12:17:28 +0000 (08:17 -0400)]
Merge PR #68360 into main

* refs/pull/68360/head:
qa: ignore expected MON_DOWN

Reviewed-by: Venky Shankar <vshankar@redhat.com>
7 days agoMerge pull request #66495 from rkachach/fix_issue_nvmeof_ssl
Redouane Kachach [Tue, 14 Apr 2026 11:53:11 +0000 (13:53 +0200)]
Merge pull request #66495 from rkachach/fix_issue_nvmeof_ssl

mgr/cephadm: fix nvmeof TLS handling and add coverage for ssl/mTLS

Reviewed-by: Adam King <adking@redhat.com>