]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/log
ceph.git
7 days agocrimson/os/seastore: auto-tune cleaner gc segment pick under random-write 68964/head
Shai Fultheim [Sun, 17 May 2026 09:40:44 +0000 (12:40 +0300)]
crimson/os/seastore: auto-tune cleaner gc segment pick under random-write

SegmentCleaner uses one of three configurable gc formulas to select
the next segment to reclaim: GREEDY (lowest util wins), COST_BENEFIT
((1-u)*age/(2u)), or BENEFIT (an age-weighted quadratic in util).
COST_BENEFIT is the default and the right choice for journaling /
LIFO workloads, where old segments accumulate more dead bytes than
young ones — age predicts deadness, so an old high-util segment is
worth reclaiming because its util will keep rising as long as we wait.

That assumption breaks under random-write at high cluster fill. Dead
bytes spread uniformly across segments regardless of age, so age stops
predicting future deadness, and (1-u)/(2u) becomes the only term that
distinguishes candidates. With every segment in the 0.7-0.94 util
band, (1-u)/(2u) ranges from 0.227 to 0.032 — a 7x spread the formula
can easily lose to a 7x age difference. Result: a 0.94-util old
segment scores higher than a 0.68-util young one, even though
reclaiming the 0.68 segment would free 5x more space (32% of a
64 MB segment vs 6%).

Observed in qa/standalone/crimson randwrite at ~70% full: with the
unmodified formula, cleaner picks settled on 0.92-0.94 util segments
freeing ~4 MB net each; net free rate collapsed to single-digit KB/s
even though the cleaner was running cycles at ~30 µs each. fio's
stall watchdog killed the bench after 535 GB user written (target
1280 GB). Switching gc_formula = greedy by hand let the bench
complete the target.

This patch detects the mis-selection at runtime and overrides the
formula's pick with the greedy choice only when the difference is
significant. In get_next_reclaim_segment() we already iterate all
closed reclaimable segments to find the formula's max-score candidate;
in the same pass we now also track the lowest-util candidate (what
GREEDY would have picked). After the loop, if greedy's free-fraction
(1 - greedy_util) is at least seastore_segment_cleaner_gc_autotune_ratio
times the formula's pick's free-fraction (default 2.0), we swap to
greedy. Since all segments share the same size, comparing free-
fractions is equivalent to comparing freed bytes; the fraction form
avoids an unnecessary multiplication.

The full design rationale (regime-by-regime behaviour, safety guard
against picked_free near zero, score-recompute on override, threshold
calibration) lives in doc/dev/crimson/seastore.rst under the new
"Cleaner GC autotune" section. The code references it from short
inline comments.

Configurable knobs:

  * seastore_segment_cleaner_gc_autotune (bool, default true) —
    operators can disable the override entirely to honor the
    configured formula unconditionally. Ignored when gc_formula =
    greedy.

  * seastore_segment_cleaner_gc_autotune_ratio (float, default 2.0,
    min 1.0) — operators can tune the override threshold. Higher is
    more conservative (preserves age weighting more aggressively);
    lower is more aggressive (behaviour converges toward pure greedy).

The override predicate is factored into a static helper
`SegmentCleaner::should_override_to_greedy(picked_free, greedy_free,
ratio)` so the call site stays readable and the predicate is
independently testable.

With this change the qa/standalone/crimson randwrite bench at 70%
fill completes the target run rather than stalling at the 500-600 GB
mark, with the override firing reliably under high uniform alive_
ratio and not firing under low or non-uniform alive_ratio. Override
behaviour can be observed with debug_seastore_cleaner=20.

Signed-off-by: Shai Fultheim <shai.fultheim@gmail.com>
7 days agoMerge pull request #69006 from tchaikov/wip-seastore-clamp-block-size-on-small-lba
Matan Breizman [Mon, 25 May 2026 10:39:18 +0000 (13:39 +0300)]
Merge pull request #69006 from tchaikov/wip-seastore-clamp-block-size-on-small-lba

crimson/seastore: clamp block_size to laddr_t::UNIT_SIZE on small-LBA devices

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
7 days agoMerge pull request #68961 from fultheim/fix-cleaner-stall-projected-ratio
Matan Breizman [Mon, 25 May 2026 10:24:59 +0000 (13:24 +0300)]
Merge pull request #68961 from fultheim/fix-cleaner-stall-projected-ratio

crimson/os/seastore: fix cleaner stall under IO-block pressure

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
7 days agoMerge pull request #68884 from tchaikov/wip-crimson-advance-osdmap
Matan Breizman [Mon, 25 May 2026 09:27:01 +0000 (12:27 +0300)]
Merge pull request #68884 from tchaikov/wip-crimson-advance-osdmap

crimson/osd: fix mark-down crash for removed OSDs

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
7 days agoMerge pull request #68861 from tchaikov/wip-crimson-reset-logger
Matan Breizman [Mon, 25 May 2026 09:26:06 +0000 (12:26 +0300)]
Merge pull request #68861 from tchaikov/wip-crimson-reset-logger

crimson/osd: inline log file stream setup to fix dangling pointer

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
7 days agoMerge pull request #69042 from Shubhaj1810/revert-67999
Redouane Kachach [Mon, 25 May 2026 09:14:57 +0000 (11:14 +0200)]
Merge pull request #69042 from Shubhaj1810/revert-67999

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

Reviewed-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
7 days agoMerge pull request #68667 from rhcs-dashboard/fix-76316-main
Redouane Kachach [Mon, 25 May 2026 08:32:23 +0000 (10:32 +0200)]
Merge pull request #68667 from rhcs-dashboard/fix-76316-main

mgr/dashboard: add remote write section to prometheus configuration

Reviewed-by: Redouane Kachach <rkachach@ibm.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
8 days agoMerge pull request #68771 from jrse/rgw-kafka-mtls-rebased
Yuval Lifshitz [Sun, 24 May 2026 19:29:38 +0000 (22:29 +0300)]
Merge pull request #68771 from jrse/rgw-kafka-mtls-rebased

rgw/kafka: add mTLS support (extends #61572)

8 days agoMerge pull request #66150 from MaodiMa/AVX512_crc32c
Kefu Chai [Sun, 24 May 2026 09:55:45 +0000 (17:55 +0800)]
Merge pull request #66150 from MaodiMa/AVX512_crc32c

common: enable AVX512+VPCLMULQDQ for crc32c performance on x86

Reviewed-by: Kefu Chai <k.chai@proxmox.com>
9 days agoMerge pull request #69045 from xxhdx1985126/wip-seastore-drop-retired-placeholder
Kefu Chai [Sat, 23 May 2026 13:56:32 +0000 (21:56 +0800)]
Merge pull request #69045 from xxhdx1985126/wip-seastore-drop-retired-placeholder

crimson/os/seastore: remove RetiredExtentPlaceholder

Reviewed-by: Kefu Chai <k.chai@proxmox.com>
9 days agoMerge pull request #68823 from tchaikov/wip-crimson-remove-from
Kefu Chai [Sat, 23 May 2026 13:33:14 +0000 (21:33 +0800)]
Merge pull request #68823 from tchaikov/wip-crimson-remove-from

crimson/osd: make PGAdvanceMap idempotent

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
9 days agoMerge pull request #68684 from ronen-fr/wip-rf-statfx
Ronen Friedman [Sat, 23 May 2026 08:04:45 +0000 (11:04 +0300)]
Merge pull request #68684 from ronen-fr/wip-rf-statfx

osd/scrub: auto-correct accounting-only stat mismatches

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
9 days agoMerge pull request #68292 from Kushal-deb/fix-nvme-gw-crash
Redouane Kachach [Sat, 23 May 2026 08:04:37 +0000 (10:04 +0200)]
Merge pull request #68292 from Kushal-deb/fix-nvme-gw-crash

mgr/cephadm: fix nvmeof reconfig loop by preserving daemon deps

Reviewed-by: Redouane Kachach <rkachach@ibm.com>
9 days agoMerge pull request #67308 from rkachach/fix_issue_ssl_cert_deps
Redouane Kachach [Sat, 23 May 2026 08:04:03 +0000 (10:04 +0200)]
Merge pull request #67308 from rkachach/fix_issue_ssl_cert_deps

mgr/cephadm: track TLS spec changes in deps and cleanup stale certmgr entries on cert source transitions

Reviewed-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
9 days agoMerge pull request #68737 from ronen-fr/wip-rf-stqlength
Ronen Friedman [Sat, 23 May 2026 07:50:42 +0000 (10:50 +0300)]
Merge pull request #68737 from ronen-fr/wip-rf-stqlength

crimson+classic/osd/scrub: limit scrubbing under snap-trimming overload

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
9 days agofeat(rgw/kafka): add mTLS client certificate authentication for Kafka notifications 68771/head
Jan Radon [Fri, 15 May 2026 13:42:08 +0000 (15:42 +0200)]
feat(rgw/kafka): add mTLS client certificate authentication for Kafka notifications
Add support for mutual TLS (mTLS) client certificate authentication
when publishing bucket notifications to Kafka brokers. RGW can now
present a client certificate and private key to authenticate with
brokers that require ssl.client.auth=required.
Changes:
- Add ssl-certificate-location, ssl-key-location, and ssl-key-password
  topic attributes for configuring client certificates
- Validate that ssl_certificate and ssl_key are provided together
- Include ssl_key_password in connection identity (hash/equality)
- Add kafka-security.sh script for generating broker and client TLS certs
- Add mTLS test (test_notification_kafka_security_ssl_mtls) using
  use_mtls=True flag on the existing SSL security path
- Update RGW notifications documentation with mTLS parameters

Fixes: http://tracker.ceph.com/issues/67427
Signed-off-by: Jan Radon <jan.fabian.radon@sap.com>
10 days agoMerge pull request #67315 from timqn22/misreporting_count_osd_services
Redouane Kachach [Fri, 22 May 2026 19:28:33 +0000 (21:28 +0200)]
Merge pull request #67315 from timqn22/misreporting_count_osd_services

mgr/cephadm: verify spec service_id before applying

Reviewed-by: Kefu Chai <k.chai@proxmox.com>
Reviewed-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
Reviewed-by: Adam King <adking@redhat.com>
10 days agoMerge pull request #66477 from xelexin/fix_cephadm_agent_volume_gatherer
Redouane Kachach [Fri, 22 May 2026 19:27:37 +0000 (21:27 +0200)]
Merge pull request #66477 from xelexin/fix_cephadm_agent_volume_gatherer

orch/cephadm: Fixes an unlimited env append in cephadm agent

Reviewed-by: Adam King <adking@redhat.com>
10 days agoMerge pull request #68902 from timqn22/logrotate-list
Redouane Kachach [Fri, 22 May 2026 19:26:44 +0000 (21:26 +0200)]
Merge pull request #68902 from timqn22/logrotate-list

src/cephadm: added ceph-exporter to post-rotate signal list

Reviewed-by: Redouane Kachach <rkachach@ibm.com>
Reviewed-by: Kefu Chai <k.chai@proxmox.com>
10 days agoMerge pull request #68915 from kginonredhat/issue-76564-mgr-daemon-ports-list-grows...
Redouane Kachach [Fri, 22 May 2026 19:25:50 +0000 (21:25 +0200)]
Merge pull request #68915 from kginonredhat/issue-76564-mgr-daemon-ports-list-grows-unbounded-across-redeploys

mgr daemon ports list grows unbounded across redeploys

Reviewed-by: Redouane Kachach <rkachach@ibm.com>
10 days agoMerge pull request #68976 from kginonredhat/issue-76295-nfs-sample-enable-udp-false
Redouane Kachach [Fri, 22 May 2026 19:24:54 +0000 (21:24 +0200)]
Merge pull request #68976 from kginonredhat/issue-76295-nfs-sample-enable-udp-false

cephadm: disable UDP in samples/nfs.json for test_cephadm Ganesha

Reviewed-by: Redouane Kachach <rkachach@ibm.com>
Reviewed-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
10 days agomgr/cephadm: adding UT for the new functionality 67308/head
Redouane Kachach [Mon, 9 Mar 2026 15:11:50 +0000 (16:11 +0100)]
mgr/cephadm: adding UT for the new functionality

Fixes: https://tracker.ceph.com/issues/75009
Signed-off-by: Redouane Kachach <rkachach@ibm.com>
10 days agomgr/cephadm: moving certificates reconciliation code to a new method
Redouane Kachach [Mon, 23 Feb 2026 15:15:12 +0000 (16:15 +0100)]
mgr/cephadm: moving certificates reconciliation code to a new method

This way we ensure it's called everytime there's a switch in the
certificate

Signed-off-by: Redouane Kachach <rkachach@ibm.com>
10 days agocrimson/os/seastore: drop RetiredExtentPlaceholder 69045/head
Xuehan Xu [Thu, 21 May 2026 07:10:59 +0000 (15:10 +0800)]
crimson/os/seastore: drop RetiredExtentPlaceholder

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
10 days agocrimson/os/seastore/cache: remove retire_extent_addr
Xuehan Xu [Thu, 21 May 2026 06:50:42 +0000 (14:50 +0800)]
crimson/os/seastore/cache: remove retire_extent_addr

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
10 days agocrimson/os/seastore/cache: re-implement Cache::retire_absent_extent_addr
Xuehan Xu [Wed, 20 May 2026 08:31:29 +0000 (16:31 +0800)]
crimson/os/seastore/cache: re-implement Cache::retire_absent_extent_addr

The new implementation retire an absent extent by constructing a real
empty extent and add it to the transaction's retired_set, instead of
creating a retired placeholder

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
10 days agoMerge pull request #68358 from ronen-fr/wip-rf-notazns main_base_5.22.26
Ronen Friedman [Fri, 22 May 2026 05:49:42 +0000 (08:49 +0300)]
Merge pull request #68358 from ronen-fr/wip-rf-notazns

crimson/os/seastore: do not treat non-ZNS devices as errors

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Kefu Chai <k.chai@proxmox.com>
11 days agoMerge pull request #68948 from ronen-fr/wip-rf-fix-trimsnap
Ronen Friedman [Thu, 21 May 2026 19:36:06 +0000 (22:36 +0300)]
Merge pull request #68948 from ronen-fr/wip-rf-fix-trimsnap

crimson/osd: decouple snap trim initiation from scrub completion

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
11 days agoosd/scrub: limit scrubbing under snap-trimming overload 68737/head
Ronen Friedman [Wed, 29 Apr 2026 04:55:02 +0000 (04:55 +0000)]
osd/scrub: limit scrubbing under snap-trimming overload

When the snap-trim queues are long, scrubbing is likely to
make things worse. This change adds a new scrubbing restriction
for that case, and prevents periodic scrubs from starting when
the total snap-trim queue length across all PGs exceeds a
configurable threshold.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
11 days agocrimson/osd: collect total snap-trim queueus length
Ronen Friedman [Wed, 29 Apr 2026 04:14:23 +0000 (04:14 +0000)]
crimson/osd: collect total snap-trim queueus length

Periodically collect the total snap-trim
queue length across all PGs. Expose it through
OSDService::get_snap_trim_queue_total().

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
11 days agoosd: collect total snap-trim queueus length
Ronen Friedman [Wed, 29 Apr 2026 03:45:34 +0000 (03:45 +0000)]
osd: collect total snap-trim queueus length

Periodically collect the total snap-trim
queue length across all PGs. Expose it through
OSDService::get_snap_trim_queue_total().

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
11 days agoMerge pull request #68873 from cbodley/wip-73475
Casey Bodley [Thu, 21 May 2026 14:41:52 +0000 (10:41 -0400)]
Merge pull request #68873 from cbodley/wip-73475

librados/asio: clear cancellation slot in associated executor

Reviewed-by: Adam Emerson <aemerson@redhat.com>
Reviewed-by: Shilpa Jagannath <smanjara@redhat.com>
11 days agoMerge pull request #68985 from djgalloway/nfs-ganesha-selinux
David Galloway [Thu, 21 May 2026 14:21:53 +0000 (10:21 -0400)]
Merge pull request #68985 from djgalloway/nfs-ganesha-selinux

Revert "Use GANESHA_REPO_BASEURL for NFS-Ganesha on all distros"

11 days agocommon: enable AVX512+VPCLMULQDQ for crc32c performance on x86 66150/head
Maodi Ma [Wed, 5 Nov 2025 02:35:46 +0000 (02:35 +0000)]
common: enable AVX512+VPCLMULQDQ for crc32c performance on x86

- Add crc32_iscsi_by16_10 in src/isa-l into candidates for ceph_crc32c
- Add hardware capability check for AVX512 instr before register
- Add NASM feature check to ensure compatibility and to enable
  AS_FEATURE_LEVEL in crc32_iscsi_by16_10.asm

Signed-off-by: Maodi Ma <mamaodi@hygon.cn>
11 days agoRevert "Merge pull request #67999 from Shubhaj1810/nfs-ganesha-servicemap-fix" 69042/head
Shubha Jain [Thu, 21 May 2026 08:51:08 +0000 (14:21 +0530)]
Revert "Merge pull request #67999 from Shubhaj1810/nfs-ganesha-servicemap-fix"

This reverts commit d44d4fd402a0c23ab98056368d12cb83afd7bb32, reversing
changes made to 0e05a6054c822e36dcdf7b25d8d031fc937ac278.

Signed-off-by: Shubha Jain <SHUBHA.JAIN1@ibm.com>
12 days agoMerge pull request #69013 from bluikko/wip-doc-rados-ops-pool-fix-label
bluikko [Thu, 21 May 2026 02:46:54 +0000 (09:46 +0700)]
Merge pull request #69013 from bluikko/wip-doc-rados-ops-pool-fix-label

doc/rados: move label to right place in pools.rst

12 days agoMerge pull request #69014 from bluikko/wip-doc-man-cephadm-fix-markup
bluikko [Thu, 21 May 2026 02:46:43 +0000 (09:46 +0700)]
Merge pull request #69014 from bluikko/wip-doc-man-cephadm-fix-markup

doc/man: fix broken markup in cephadm.rst

12 days agoRevert "Use GANESHA_REPO_BASEURL for NFS-Ganesha on all distros" 68985/head
David Galloway [Wed, 20 May 2026 20:38:52 +0000 (16:38 -0400)]
Revert "Use GANESHA_REPO_BASEURL for NFS-Ganesha on all distros"

The ganesha spec file is calling in a system package that is in CentOS 10 Stream but not yet in Rocky/Alma/RHEL/whatever.

This reverts commit 1163bd6b01560bb435821d1ec14b69a5a4f3b0cc.

Fixes: https://tracker.ceph.com/issues/76681
Signed-off-by: David Galloway <david.galloway@ibm.com>
12 days agoMerge PR #68907 into main
Patrick Donnelly [Wed, 20 May 2026 20:16:20 +0000 (16:16 -0400)]
Merge PR #68907 into main

* refs/pull/68907/head:
qa: ignore pg stuck peering

Reviewed-by: Yuri Weinstein <yweins@redhat.com>
12 days agoMerge PR #68896 into main
Patrick Donnelly [Wed, 20 May 2026 19:41:40 +0000 (15:41 -0400)]
Merge PR #68896 into main

* refs/pull/68896/head:
qa: ignore cephadm failed daemon warnings during thrashing

Reviewed-by: Yuri Weinstein <yweins@redhat.com>
12 days agoMerge PR #68998 into main
Patrick Donnelly [Wed, 20 May 2026 19:40:56 +0000 (15:40 -0400)]
Merge PR #68998 into main

* refs/pull/68998/head:
.github/workflows/releng-audit: update python to 3.12
.github/workflows/releng-audit: update workflows

Reviewed-by: Yuri Weinstein <yweins@redhat.com>
12 days agoMerge PR #68893 into main
Patrick Donnelly [Wed, 20 May 2026 19:38:17 +0000 (15:38 -0400)]
Merge PR #68893 into main

* refs/pull/68893/head:
qa: ignore expected OSD_ROOT_DOWN
qa: ignore fs offline warning
qa: add MDS_INSUFFICIENT_STANDBY to ignorelist
qa/suites/upgrade: use common ignorelist

Reviewed-by: Laura Flores <lflores@redhat.com>
12 days agoMerge PR #68897 into main
Patrick Donnelly [Wed, 20 May 2026 19:37:29 +0000 (15:37 -0400)]
Merge PR #68897 into main

* refs/pull/68897/head:
qa/suites/upgrade: ignore undersized PG during stress splits

Reviewed-by: Laura Flores <lflores@redhat.com>
12 days agoMerge PR #69004 into main
Patrick Donnelly [Wed, 20 May 2026 19:33:33 +0000 (15:33 -0400)]
Merge PR #69004 into main

* refs/pull/69004/head:
script/ptl-tool: allow automatic links for commit sha

Reviewed-by: Yuri Weinstein <yweins@redhat.com>
12 days agoMerge pull request #68962 from afreen23/remove-fa
Afreen Misbah [Wed, 20 May 2026 17:57:32 +0000 (23:27 +0530)]
Merge pull request #68962 from afreen23/remove-fa

mgr/dashboard: Remove font awesome icon package

Reviewed-by: Nizamudeen A <nia@redhat.com>
12 days agoMerge pull request #68796 from ronen-fr/wip-rf-snapreset-crimson
Ronen Friedman [Wed, 20 May 2026 11:05:09 +0000 (14:05 +0300)]
Merge pull request #68796 from ronen-fr/wip-rf-snapreset-crimson

Crimson/osd/snap-mapper: flush pending writes on pg interval change

Reviewed-by: Xuehan Xu <xuxuehan@qianxin.com>
Reviewed-by: Aishwarya Mathuria <amathuri@redhat.com>
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
12 days agoMerge pull request #68880 from ronen-fr/wip-rf-asokassert-crimson
Ronen Friedman [Wed, 20 May 2026 10:50:04 +0000 (13:50 +0300)]
Merge pull request #68880 from ronen-fr/wip-rf-asokassert-crimson

crimson/osd,qa: support and test the 'assert' ASOK command

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
12 days agoMerge pull request #67010 from bluikko/wip-doc-radosgw-ref-links-split5
bluikko [Wed, 20 May 2026 09:12:26 +0000 (16:12 +0700)]
Merge pull request #67010 from bluikko/wip-doc-radosgw-ref-links-split5

doc/radosgw: change all intra-docs links to use ref (6 of 6)

12 days agoMerge pull request #67008 from bluikko/wip-doc-radosgw-ref-links-split3
bluikko [Wed, 20 May 2026 09:09:48 +0000 (16:09 +0700)]
Merge pull request #67008 from bluikko/wip-doc-radosgw-ref-links-split3

doc/radosgw: change all intra-docs links to use ref (4 of 6)

12 days agoMerge pull request #68991 from bill-scales/dev_doc_index
Bill Scales [Wed, 20 May 2026 09:02:04 +0000 (10:02 +0100)]
Merge pull request #68991 from bill-scales/dev_doc_index

doc/dev/internals: Improve Ceph Internals TOC

Reviewed-by: Ville Ojamo <git2233+ceph@ojamo.eu>
Reviewed-by: Anthony D Atri <anthony.datri@gmail.com>
12 days agocrimson/osd: call pubsetbuf() before open() 68861/head
Matan Breizman [Wed, 20 May 2026 08:22:22 +0000 (11:22 +0300)]
crimson/osd: call pubsetbuf() before open()

Move rdbuf()->pubsetbuf(nullptr, 0) before ofstream::open() since libstdc++
may ignore setbuf() once the filebuf is associated with a file.

```
setbuf() may only be called when the std::basic_filebuf is not associated with a file (has no effect otherwise)
```
https://en.cppreference.com/cpp/io/basic_filebuf/setbuf

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
12 days agoMerge pull request #68728 from Hezko/bugfix-14187
Hezko [Wed, 20 May 2026 07:33:12 +0000 (10:33 +0300)]
Merge pull request #68728 from Hezko/bugfix-14187

mgr/dashboard: raise an error when invalid server-address was provided

12 days agodoc/man: fix broken markup in cephadm.rst 69014/head
Ville Ojamo [Wed, 20 May 2026 06:39:38 +0000 (13:39 +0700)]
doc/man: fix broken markup in cephadm.rst

Signed-off-by: Ville Ojamo <git2233+ceph@ojamo.eu>
12 days agodoc/rados: move label to right place in pools.rst 69013/head
Ville Ojamo [Wed, 20 May 2026 06:26:08 +0000 (13:26 +0700)]
doc/rados: move label to right place in pools.rst

The label is named setting and not unsetting, so move it from the
unsetting section to the setting section.
The label is used only once and the context in which it is used is also
more fitting for the setting section.

Signed-off-by: Ville Ojamo <git2233+ceph@ojamo.eu>
12 days agoMerge pull request #67700 from mheler/wip-lc-versioned-deletes
anrao19 [Wed, 20 May 2026 06:10:21 +0000 (11:40 +0530)]
Merge pull request #67700 from mheler/wip-lc-versioned-deletes

rgw: group lifecycle versioned deletes to reduce OLH contention

12 days agoMerge pull request #68575 from benhanokh/dedup_filter_buckets_and_sc
Gabriel Benhanokh [Wed, 20 May 2026 06:08:08 +0000 (09:08 +0300)]
Merge pull request #68575 from benhanokh/dedup_filter_buckets_and_sc

rgw/dedup: add --allow/deny lists for bucket/storage-class

12 days agoMerge pull request #65611 from NitzanMordhai/wip-nitzan-autotune-mgr-stats-period
NitzanMordhai [Wed, 20 May 2026 05:05:16 +0000 (08:05 +0300)]
Merge pull request #65611 from NitzanMordhai/wip-nitzan-autotune-mgr-stats-period

mgr/DaemonServer: auto-tune stats period when message queue gets backed up

Reviewed-by: Sridhar Seshasayee <sridhar.seshasayee@ibm.com>
12 days agocrimson/osd: decouple snap trim initiation from scrub completion 68948/head
Ronen Friedman [Sat, 16 May 2026 14:39:51 +0000 (14:39 +0000)]
crimson/osd: decouple snap trim initiation from scrub completion

Add SnapTrimInitiate operation so kick_snap_trim() no longer calls
on_active_actmap() inline during scrub completion, which nested
conflicting with_interruption contexts and hit an assertion.

Fixes: https://tracker.ceph.com/issues/76550
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
13 days agocrimson/seastore: clamp block_size to laddr_t::UNIT_SIZE on small-LBA devices 69006/head
Kefu Chai [Wed, 20 May 2026 00:55:55 +0000 (08:55 +0800)]
crimson/seastore: clamp block_size to laddr_t::UNIT_SIZE on small-LBA devices

Seastar's file::disk_write_dma_alignment() faithfully reports what the
kernel exposes for the underlying device. On block devices in 512-byte
LBA mode (the factory default for many NVMe SSDs), it correctly returns
512.

SeaStore's internal addressing, however, operates at a 4 KiB page
granularity defined by laddr_t::UNIT_SIZE, and SeaStore::_mount() asserts
that block_size >= UNIT_SIZE. As a result, ceph-osd-crimson --mkfs
--osd-objectstore seastore aborts on any device shipped in 512-LBA
mode:

  seastore.cc:344  ceph_assert(block_size >= laddr_t::UNIT_SIZE)
  seastore requires a device block size of at least 4096 bytes,
  but the primary device at '/var/lib/ceph/osd/ceph-N/block'
  reports block_size=512

The reported alignment is not wrong; it is the minimum Linux enforces
for O_DIRECT on that device, so users with optimization in mind can
override it through io_properties.yaml. But SeaStore can run correctly
on 512-LBA devices as long as it issues only 4 KiB-aligned I/O (which
is also 512-aligned, so the device is happy). Clamp the captured
block_size to laddr_t::UNIT_SIZE so SeaStore can host an OSD on
512-LBA storage without operator intervention, while still honoring
larger device-reported alignments when present.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
13 days agoMerge PR #68987 into main
Patrick Donnelly [Wed, 20 May 2026 00:30:23 +0000 (20:30 -0400)]
Merge PR #68987 into main

* refs/pull/68987/head:
script/ptl-tool: use provided base even in conflict

Reviewed-by: Yuri Weinstein <yweins@redhat.com>
13 days agoMerge pull request #68810 from tchaikov/doc-min-compat-client-kernel
Kefu Chai [Tue, 19 May 2026 23:57:50 +0000 (07:57 +0800)]
Merge pull request #68810 from tchaikov/doc-min-compat-client-kernel

doc/rados: add kernel client notes to require_min_compat_client

Reviewed-by: Anthony D Atri <anthony.datri@gmail.com>
13 days agoMerge pull request #68997 from tchaikov/wip-debian-strip-osd
Casey Bodley [Tue, 19 May 2026 22:13:38 +0000 (18:13 -0400)]
Merge pull request #68997 from tchaikov/wip-debian-strip-osd

debian/rules: strip ceph-osd-classic and ceph-osd-crimson

Reviewed-by: Casey Bodley <cbodley@redhat.com>
13 days agoMerge pull request #68966 from anthonyeleven/nobuild
Anthony D'Atri [Tue, 19 May 2026 19:14:01 +0000 (12:14 -0700)]
Merge pull request #68966 from anthonyeleven/nobuild

doc/start: Clarify doc building and begin list of conventions

13 days agoscript/ptl-tool: allow automatic links for commit sha 69004/head
Patrick Donnelly [Tue, 19 May 2026 16:55:21 +0000 (12:55 -0400)]
script/ptl-tool: allow automatic links for commit sha

Wrapping in backticks renders it as teletype text and prevents Github
from automatically generating links to the commits.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
13 days agoMerge pull request #68799 from tchaikov/debian-cephfs-top-manpage
Kefu Chai [Tue, 19 May 2026 15:24:33 +0000 (23:24 +0800)]
Merge pull request #68799 from tchaikov/debian-cephfs-top-manpage

debian: package manpage for cephfs-top

Reviewed-by: John Mulligan <jmulligan@redhat.com>
13 days agomgr/DaemonServer: auto-tune stats period when message queue gets backed up 65611/head
Nitzan Mordechai [Thu, 18 Sep 2025 05:16:51 +0000 (05:16 +0000)]
mgr/DaemonServer: auto-tune stats period when message queue gets backed up

The mgr can get overwhelmed when there's a lot of cluster activity and
daemons are sending stats reports faster than we can process them.
This commit adds logic to monitor the messenger queue depth and bump
up mgr_stats_period when things get congested. This reduces the
frequency of daemon stat reports, allowing the mgr to process existing
reports without being overwhelmed by new ones. The period automatically
scales back down when the queue clears up.

Added mgr_stats_period_autotune (on by default) and a queue threshold
setting. Recovery happens automatically when the queue clears up.
Max period is capped at 60 seconds to prevent excessive stat delays.

Fixes: https://tracker.ceph.com/issues/73151
Signed-off-by: Nitzan Mordechai <nmordech@ibm.com>
13 days ago.github/workflows/releng-audit: update python to 3.12 68998/head
Patrick Donnelly [Tue, 19 May 2026 14:12:43 +0000 (10:12 -0400)]
.github/workflows/releng-audit: update python to 3.12

py3.10 is EOL this year.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
13 days ago.github/workflows/releng-audit: update workflows
Patrick Donnelly [Tue, 19 May 2026 14:10:33 +0000 (10:10 -0400)]
.github/workflows/releng-audit: update workflows

To avoid this warning:

> Warning: Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v3, actions/setup-python@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
13 days agoMerge pull request #68137 from lumir-sliva/fix/rgw-replication-duplicate-arn
Casey Bodley [Tue, 19 May 2026 13:37:36 +0000 (09:37 -0400)]
Merge pull request #68137 from lumir-sliva/fix/rgw-replication-duplicate-arn

rgw: avoid doubled ARN in GetBucketReplication for pre-existing data

Reviewed-by: Casey Bodley <cbodley@redhat.com>
13 days agodebian/rules: strip ceph-osd-classic and ceph-osd-crimson 68997/head
Kefu Chai [Tue, 19 May 2026 12:58:10 +0000 (20:58 +0800)]
debian/rules: strip ceph-osd-classic and ceph-osd-crimson

override_dh_strip enumerates each binary package explicitly. It was not
updated when ceph-osd was split into the ceph-osd-classic and
ceph-osd-crimson implementation packages, so the OSD binaries in those
two packages are shipped unstripped (ceph-osd-crimson installs at ~4.6
GiB) and their -dbg packages are left empty.

Add the missing dh_strip invocations so the OSD binaries are stripped
and their debug symbols land in the corresponding -dbg packages, as is
already done for every other binary package.

Fixes: a37b5b5bde8c
Signed-off-by: Kefu Chai <k.chai@proxmox.com>
13 days agomgr/dashboard: fix remaining FA icon references and test failures 68962/head
Afreen Misbah [Mon, 18 May 2026 20:06:35 +0000 (01:36 +0530)]
mgr/dashboard: fix remaining FA icon references and test failures

- Fix icon size mismatches and HTML lint errors
- Fix remaining FA icon references in tests
- Replace FA icons with Carbon in upgrade component:
  use cds-inline-loading for spinners, cd-icon for status icons
- Update test selectors for Carbon icon queries

Fixes: https://tracker.ceph.com/issues/76631
Signed-off-by: Afreen Misbah <afreen23@gmail.com>
Assisted-by: Claude
13 days agomgr/dashboard: fix filter icon alignment in table toolbar
Afreen Misbah [Sun, 17 May 2026 16:43:59 +0000 (22:13 +0530)]
mgr/dashboard: fix filter icon alignment in table toolbar

Replace Bootstrap inline styles with proper CSS class for filter
icon and select dropdowns alignment. Created filter-wrapper class
to properly align filter icon with select elements using flexbox.

Signed-off-by: Afreen Misbah <afreen@ibm.com>
Assisted-by: Claude
Fixes: https://tracker.ceph.com/issues/76631
13 days agomgr/dashboard: fix missing loader and zone group icon
Afreen Misbah [Sun, 17 May 2026 15:07:45 +0000 (20:37 +0530)]
mgr/dashboard: fix missing loader and zone group icon

- Add state="active" to cds-inline-loading in card-row component
  to properly show loading spinner for table row actions
- Replace parentChild icon with clusterIcon (web-services--cluster)
  for zone group representation in RGW multisite
- Remove parentChild from Icons enum and replace with
  WebServicesCluster in components.module.ts
- Import ComponentsModule in rgw.module.ts for cd-icon support

Signed-off-by: Afreen Misbah <afreen@ibm.com>
Assisted-by: Claude
Fixes: https://tracker.ceph.com/issues/76631
13 days agomgr/dashboard: update health-icon pipe tests for Carbon icons
Afreen Misbah [Sun, 17 May 2026 10:26:22 +0000 (15:56 +0530)]
mgr/dashboard: update health-icon pipe tests for Carbon icons

Update test expectations to match Carbon icon names instead of
fork-awesome class names:
- 'fa fa-check-circle' -> 'success'
- 'fa fa-exclamation-triangle' -> 'warningAltFilled'
- 'fa fa-exclamation-circle' -> 'error'

Signed-off-by: Afreen Misbah <afreen@ibm.com>
Assisted-by: Claude
Fixes: https://tracker.ceph.com/issues/76631
13 days agomgr/dashboard: replace icons.spin with Carbon loading components
Afreen Misbah [Sun, 17 May 2026 09:48:04 +0000 (15:18 +0530)]
mgr/dashboard: replace icons.spin with Carbon loading components

Replace fork-awesome spinner classes with appropriate Carbon loading components:

- cds-inline-loading: for inline spinners (action feedback, status updates)
  * table row actions (executing/removing)
  * upgrade status text/buttons
  * loading panel alerts

- cds-loading size="sm": for section data loading
  * tree view loading (crushmap, multisite-details, cephfs-directories)
  * progress component operations

- cds-loading size="lg": for dashboard/overview loading
  * rgw-overview-dashboard cards
  * multi-cluster overview

Added LoadingModule and InlineLoadingModule imports to:
- block.module.ts
- cephfs.module.ts
- cluster.module.ts
(rgw.module.ts and components.module.ts already had them)

Signed-off-by: Afreen Misbah <afreen@ibm.com>
Assisted-by: Claude
Fixes: https://tracker.ceph.com/issues/76631
13 days agomgr/dashboard: replace fork-awesome size classes with Carbon sizes
Afreen Misbah [Sun, 17 May 2026 09:19:06 +0000 (14:49 +0530)]
mgr/dashboard: replace fork-awesome size classes with Carbon sizes

Replace icons.large/large2x/large3x with Carbon icon sizes:
- icons.large -> icons.size24
- icons.large2x -> icons.size32
- icons.large3x -> icons.size32

Signed-off-by: Afreen Misbah <afreen@ibm.com>
Assisted-by: Claude
Fixes: https://tracker.ceph.com/issues/76631
 Conflicts:
src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-overview-dashboard/rgw-overview-dashboard.component.html
     - rebase conflicts

13 days agomgr/dashboard: remove fork-awesome package dependency
Afreen Misbah [Sun, 17 May 2026 01:13:30 +0000 (06:43 +0530)]
mgr/dashboard: remove fork-awesome package dependency

- Remove fork-awesome 1.2.0 from dependencies
- Update package-lock.json accordingly

Signed-off-by: Afreen Misbah <afreen@ibm.com>
Assisted-by: Claude
Fixes: https://tracker.ceph.com/issues/76631
13 days agomgr/dashboard: remove font awesome references
Afreen Misbah [Sun, 17 May 2026 00:14:41 +0000 (05:44 +0530)]
mgr/dashboard: remove font awesome references

- Remove .fa and .fa-* class styles from component SCSS files
- Remove FA icon spacing rules from global styles
- Clean up .fa-stack styles (FA stacking feature)
- Remove FA-specific color styles
- Remove FA icons

Signed-off-by: Afreen Misbah <afreen@ibm.com>
Assisted-by: Claude
Fixes: https://tracker.ceph.com/issues/76631
13 days agoMerge pull request #68986 from rhcs-dashboard/carbonize-rgw-dash
Afreen Misbah [Tue, 19 May 2026 12:54:27 +0000 (18:24 +0530)]
Merge pull request #68986 from rhcs-dashboard/carbonize-rgw-dash

mgr/dashboard: carbonize RGW overview dashboard

Reviewed-by: Nizamudeen A <nia@redhat.com>
13 days agodoc/dev/internals: Improve Ceph Internals TOC 68991/head
Bill Scales [Tue, 19 May 2026 06:05:13 +0000 (07:05 +0100)]
doc/dev/internals: Improve Ceph Internals TOC

The Ceph internals section of the docs is a bit of a mess
as far as the table of contents is concerned. This commit
tries to add a bit more structure grouping topics by
area and trying to arrange them in a more logical order.

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
13 days agoMerge PR #68816 into main
Patrick Donnelly [Tue, 19 May 2026 12:18:54 +0000 (08:18 -0400)]
Merge PR #68816 into main

* refs/pull/68816/head:
common/admin_socket: use POSIX timer for delayed signal delivery

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
13 days agoMerge PR #68560 into main
Patrick Donnelly [Tue, 19 May 2026 12:14:24 +0000 (08:14 -0400)]
Merge PR #68560 into main

* refs/pull/68560/head:
test/mds: fix flaky RepeatedQuiesceAwait

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
13 days agoMerge pull request #68988 from rhcs-dashboard/fix-tag-color-table
Afreen Misbah [Tue, 19 May 2026 11:18:16 +0000 (16:48 +0530)]
Merge pull request #68988 from rhcs-dashboard/fix-tag-color-table

mgr/dashboard: fix tag colors not applied in table cells

Reviewed-by: Nizamudeen A <nia@redhat.com>
13 days agoMerge pull request #68478 from mheler/wip-bug-75958
mheler [Tue, 19 May 2026 11:03:31 +0000 (06:03 -0500)]
Merge pull request #68478 from mheler/wip-bug-75958

rgw/gc: mark rgw_gc_max_objs as startup-only

13 days agoMerge pull request #68213 from lumir-sliva/fix/mgr-perf-schema-empty-counters
SrinivasaBharathKanta [Tue, 19 May 2026 09:26:14 +0000 (14:56 +0530)]
Merge pull request #68213 from lumir-sliva/fix/mgr-perf-schema-empty-counters

mgr: guard close_section calls in get_perf_schema_python

13 days agomgr/dashboard: carbonize RGW overview dashboard 68986/head
Afreen Misbah [Tue, 19 May 2026 00:09:47 +0000 (05:39 +0530)]
mgr/dashboard: carbonize RGW overview dashboard

Fixes: https://tracker.ceph.com/issues/76684
Signed-off-by: Afreen Misbah <afreen23.git@gmail.com>
Assisted-by: Claude
13 days agoMerge pull request #67763 from kamoltat/wip-ksirivad-fix-cmpiler-warn
SrinivasaBharathKanta [Tue, 19 May 2026 09:17:33 +0000 (14:47 +0530)]
Merge pull request #67763 from kamoltat/wip-ksirivad-fix-cmpiler-warn

src/msg/async/Event: collect and ignore return value for read()

13 days agoMerge pull request #68952 from rhcs-dashboard/remove-ng-click-outside
Afreen Misbah [Tue, 19 May 2026 08:21:09 +0000 (13:51 +0530)]
Merge pull request #68952 from rhcs-dashboard/remove-ng-click-outside

mgr/dashboard: Remove `ng-click-outside` and `ngx-toast`

Reviewed-by: Nizamudeen A <nia@redhat.com>
13 days agoMerge pull request #68872 from ceph/kchheda3-fix-build-break
Kefu Chai [Tue, 19 May 2026 04:18:34 +0000 (12:18 +0800)]
Merge pull request #68872 from ceph/kchheda3-fix-build-break

osd/test: Fix build breakage when WITH_EC_ISA_PLUGIN is OFF

Reviewed-by: Alex Ainscow <aainscow@uk.ibm.com>
Reviewed-by: Kefu Chai <k.chai@proxmox.com>
2 weeks agorgw/dedup: dedup-filter - add empty-file validation, fix dump default param, fix... 68575/head
benhanokh [Mon, 18 May 2026 06:38:35 +0000 (09:38 +0300)]
rgw/dedup: dedup-filter - add empty-file validation, fix dump default param, fix typos

Signed-off-by: Gabriel BenHanokh <gbenhano@redhat.com>
2 weeks agoMerge pull request #68946 from tchaikov/wip-doc-vstart
Kefu Chai [Tue, 19 May 2026 02:41:48 +0000 (10:41 +0800)]
Merge pull request #68946 from tchaikov/wip-doc-vstart

doc/dev: refresh vstart.sh options in dev_cluster_deployment

Reviewed-by: Vikhyat Umrao <vikhyat@ibm.com>
2 weeks agoMerge pull request #68758 from tchaikov/cmake-build-isal-lib
Kefu Chai [Tue, 19 May 2026 02:22:00 +0000 (10:22 +0800)]
Merge pull request #68758 from tchaikov/cmake-build-isal-lib

cmake/BuildISAL: build and install library targets only

Reviewed-by: Jamie Pryde <jamiepry@uk.ibm.com>
2 weeks agomgr/dashboard: fix tag colors not applied in table cells 68988/head
Afreen Misbah [Tue, 19 May 2026 00:26:05 +0000 (05:56 +0530)]
mgr/dashboard: fix tag colors not applied in table cells

Regression from 15ca5d7ab9c.

Changed class to ngClass due to same attribute linter error.
This caused color classes to be overwritten  by carbon classes.

Fixes: https://tracker.ceph.com/issues/76685
Signed-off-by: Afreen Misbah <afreen@ibm.com>
Assisted-by: Claude
2 weeks agoscript/ptl-tool: use provided base even in conflict 68987/head
Patrick Donnelly [Tue, 19 May 2026 00:25:57 +0000 (20:25 -0400)]
script/ptl-tool: use provided base even in conflict

It is sometimes useful to base off a local branch instead of a common
branch.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
2 weeks agoMerge pull request #68178 from rhcs-dashboard/start-with-libvirt-group
Afreen Misbah [Tue, 19 May 2026 00:24:07 +0000 (05:54 +0530)]
Merge pull request #68178 from rhcs-dashboard/start-with-libvirt-group

mgr/dashboard: run kcli commands in libvritd group

Reviewed-by: Afreen Misbah <afreen@ibm.com>
2 weeks agodoc/start: Clarify doc building and begin list of conventions 68966/head
Anthony D'Atri [Mon, 18 May 2026 00:52:22 +0000 (20:52 -0400)]
doc/start: Clarify doc building and begin list of conventions

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
2 weeks agomgr/dashboard: fix build and test failures from ngx-toastr removal 68952/head
Afreen Misbah [Mon, 18 May 2026 15:15:45 +0000 (20:45 +0530)]
mgr/dashboard: fix build and test failures from ngx-toastr removal

Assisted-by: Claude
Signed-off-by: Afreen Misbah <afreen@ibm.com>
2 weeks agorgw/dedup: fix negative errno codes in filter and radosgw-admin
benhanokh [Mon, 11 May 2026 10:58:10 +0000 (13:58 +0300)]
rgw/dedup: fix negative errno codes in filter and radosgw-admin

Signed-off-by: benhanokh <gbenhano@redhat.com>
2 weeks agorgw/dedup: add --allow/deny-bucket-list and --allow/deny-storage-class-list to dedup...
Gabriel BenHanokh [Thu, 23 Apr 2026 14:16:31 +0000 (14:16 +0000)]
rgw/dedup: add --allow/deny-bucket-list and --allow/deny-storage-class-list to dedup commands
Resolves: bz#2413730
Signed-off-by: Gabriel BenHanokh <gbenhano@redhat.com>
2 weeks agolibrados/asio: clear cancellation slot in associated executor 68873/head
Casey Bodley [Tue, 12 May 2026 18:58:16 +0000 (14:58 -0400)]
librados/asio: clear cancellation slot in associated executor

the librados callback function `AsyncOp::aio_dispatch()` runs on
Objecter's finisher strand executor, and dispatches the completion
handler to its associated executor

asio cancellation is not thread-safe, so should be synchronized on that
associated executor. move the call to `slot.clear()` from that librados
callback into the AsyncHandler wrapper so it doesn't run until we've
switched to the correct executor

because our `op_cancellation` handler depends on an `AioCompletion`
pointer, we have to clear the cancellation slot before that
`AioCompletion` lifetime ends

Fixes: https://tracker.ceph.com/issues/73475
Signed-off-by: Casey Bodley <cbodley@redhat.com>