]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/log
ceph.git
3 days agoqa/rgw/upgrade: don't randomize distros 66341/head
Casey Bodley [Fri, 12 Dec 2025 16:49:57 +0000 (11:49 -0500)]
qa/rgw/upgrade: don't randomize distros

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 days agoqa/rgw/upgrade: exclude ceph-osd-classic/crimson on squid and tentacle
Casey Bodley [Thu, 20 Nov 2025 16:57:35 +0000 (11:57 -0500)]
qa/rgw/upgrade: exclude ceph-osd-classic/crimson on squid and tentacle

split packages for ceph-osd-classic and ceph-osd-crimson were added on
main, but don't exist on squid and tentacle. exclude these packages from
their install tasks

Fixes: https://tracker.ceph.com/issues/73943
Signed-off-by: Casey Bodley <cbodley@redhat.com>
4 days agoMerge pull request #66233 from benhanokh/dedup_ver
Gabriel Benhanokh [Fri, 12 Dec 2025 06:30:58 +0000 (08:30 +0200)]
Merge pull request #66233 from benhanokh/dedup_ver

rgw/dedup: Add support for RGW versions.

4 days agoMerge pull request #66188 from harriscr/ch_wip_qa_cbt_task
SrinivasaBharathKanta [Fri, 12 Dec 2025 03:31:59 +0000 (09:01 +0530)]
Merge pull request #66188 from harriscr/ch_wip_qa_cbt_task

qa: Use a more pythonic way to install CBT python requirements

7 days agominor changes requested by reviewer 66233/head
Gabriel BenHanokh [Mon, 24 Nov 2025 10:03:18 +0000 (10:03 +0000)]
minor changes requested by reviewer

Signed-off-by: Gabriel BenHanokh <gbenhano@redhat.com>
7 days agorgw/dedup: Add support for RGW versions.
Gabriel BenHanokh [Thu, 13 Nov 2025 10:02:01 +0000 (10:02 +0000)]
rgw/dedup: Add support for RGW versions.
Dedup code will scan all instances of versioned objects and include them
in the dedup process

Signed-off-by: Gabriel BenHanokh <gbenhano@redhat.com>
7 days agoMerge pull request #66549 from tchaikov/wip-cpp-btree-silence-warnings
Kefu Chai [Tue, 9 Dec 2025 05:09:15 +0000 (13:09 +0800)]
Merge pull request #66549 from tchaikov/wip-cpp-btree-silence-warnings

include/cpp-btree: fix array bounds warning in child() accessors

Reviewed-by: Edwin Rodriguez <edwin.rodriguez1@ibm.com>
7 days agoMerge pull request #66562 from Germano0/manual-deployment.osd
bluikko [Tue, 9 Dec 2025 04:43:28 +0000 (11:43 +0700)]
Merge pull request #66562 from Germano0/manual-deployment.osd

doc: add ceph.conf in osd creation

7 days agodoc: add ceph.conf in osd creation 66562/head
Germano Massullo (Thetra) [Tue, 9 Dec 2025 00:23:31 +0000 (01:23 +0100)]
doc: add ceph.conf in osd creation

Signed-off-by: Germano Massullo (Thetra) <germano.massullo@thetra.eu>
7 days agoMerge pull request #66304 from NitzanMordhai/wip-nitzan-objecter-osdmap-request-override
SrinivasaBharathKanta [Mon, 8 Dec 2025 22:49:46 +0000 (04:19 +0530)]
Merge pull request #66304 from NitzanMordhai/wip-nitzan-objecter-osdmap-request-override

Objecter: respect higher epoch subscription in tick

7 days agoMerge pull request #66560 from anthonyeleven/arminfo
Anthony D'Atri [Mon, 8 Dec 2025 22:22:30 +0000 (17:22 -0500)]
Merge pull request #66560 from anthonyeleven/arminfo

doc/start: Add ARM support note to hardware-recommendations.rst

7 days agodoc/start: Add ARM support note to hardware-recommendations.rst 66560/head
Anthony D'Atri [Mon, 8 Dec 2025 19:48:58 +0000 (14:48 -0500)]
doc/start: Add ARM support note to hardware-recommendations.rst

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
7 days agoMerge pull request #66020 from bluikko/doc-conf-auth-config-ref-links-rados
Ilya Dryomov [Mon, 8 Dec 2025 19:10:26 +0000 (20:10 +0100)]
Merge pull request #66020 from bluikko/doc-conf-auth-config-ref-links-rados

doc: Use validated links with ref instead of external links

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Reviewed-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
8 days agoMerge pull request #66070 from samarahu/rgw-d4n-unit-test-fix
Samarah Uriarte [Mon, 8 Dec 2025 14:32:35 +0000 (08:32 -0600)]
Merge pull request #66070 from samarahu/rgw-d4n-unit-test-fix

Reviewed-by: Pritha Srivastava <prsrivas@redhat.com>
8 days agoinclude/cpp-btree: fix array bounds warning in child() accessors 66549/head
Kefu Chai [Mon, 8 Dec 2025 08:29:00 +0000 (16:29 +0800)]
include/cpp-btree: fix array bounds warning in child() accessors

Replace array indexing with pointer arithmetic in child() and
mutable_child() methods to avoid compiler warning when accessing
child nodes beyond the static array bounds.

The original code was functionally correct but triggered
-Warray-bounds when accessing mutable_child(32) during btree
operations. Using pointer arithmetic achieves the same result
without the bounds check warning.

This is a follow-up to commit 8458a19ab which fixed similar
warnings in other btree_node methods.

No functional changes.

Fixes: https://tracker.ceph.com/issues/72477
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
8 days agoMerge pull request #66402 from afreen23/remove-ng
Afreen Misbah [Mon, 8 Dec 2025 10:03:05 +0000 (15:33 +0530)]
Merge pull request #66402 from afreen23/remove-ng

mgr/dashboard: Remove ng script

Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: pujaoshahu <pshahu@redhat.com>
8 days agoMerge pull request #62002 from mohit84/crimson_mclock_1
Matan Breizman [Mon, 8 Dec 2025 09:40:59 +0000 (11:40 +0200)]
Merge pull request #62002 from mohit84/crimson_mclock_1

crimson: Support mclock for crimson

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
8 days agoMerge pull request #65729 from tchaikov/cmake-link-ceph-common
Kefu Chai [Mon, 8 Dec 2025 07:38:31 +0000 (15:38 +0800)]
Merge pull request #65729 from tchaikov/cmake-link-ceph-common

cmake: convert erasure_code and json_spirit to OBJECT libraries

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
8 days agodoc: Use validated links with ref instead of external links 66020/head
Ville Ojamo [Wed, 22 Oct 2025 07:19:31 +0000 (14:19 +0700)]
doc: Use validated links with ref instead of external links

Use :ref: for intra-docs links that are validated, instead of external
links.
Only use already existing labels.
Fixes a few anchors that pointed to now-renamed section titles.
Use automatically generated link text where appropriate.
Delete unused link definitions.

Mostly in doc/rados/ but also a few in doc/rbd/.
Try to fix all links in each of the changed documents.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
8 days agoMerge pull request #66489 from joscollin/wip-drop-double-check
Venky Shankar [Mon, 8 Dec 2025 04:34:42 +0000 (10:04 +0530)]
Merge pull request #66489 from joscollin/wip-drop-double-check

mds: drop checking CEPH_MDS_OP_SETLAYOUT two times

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
9 days agoMerge pull request #66158 from xxhdx1985126/wip-seastore-minor-perf-issue
Matan Breizman [Sun, 7 Dec 2025 08:16:57 +0000 (10:16 +0200)]
Merge pull request #66158 from xxhdx1985126/wip-seastore-minor-perf-issue

crimson/os/seastore/epm: avoid unnecessary container copies

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
10 days agocmake: convert erasure_code and json_spirit to OBJECT libraries 65729/head
Kefu Chai [Tue, 30 Sep 2025 10:38:31 +0000 (18:38 +0800)]
cmake: convert erasure_code and json_spirit to OBJECT libraries

This resolves a circular dependency issue where ceph-common was linked
against erasure_code and json_spirit static libraries, while these
libraries themselves referenced symbols from ceph-common, creating an
unresolvable circular dependency. The static libraries were incorrectly
marked PUBLIC, causing executables linking against ceph-common to also
link against them directly.

The circular dependency manifested as linker errors in tests like
ceph_test_ino_release_cb, where libjson_spirit.a and liberasure_code.a
contained undefined references to ceph-common symbols (e.g.,
ceph::__ceph_assert_fail and get_str_list) that couldn't be resolved
due to the linking order.

For instance, ceph_test_ino_release_cb failed to link:
```
/usr/bin/ld: ../../../lib/libcephfs.so.2.0.0: undefined reference to symbol '_ZN4ceph18__ceph_assert_failERKNS_11assert_dataE'
/usr/bin/ld: ../../../lib/libceph-common.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
```

Changes:

- Convert erasure_code and json_spirit from STATIC to OBJECT libraries
- Embed their object files directly into ceph-common during linking,
  breaking the circular dependency and preventing public propagation
  of these dependencies to downstream targets
- Remove direct linkage from targets that already get these symbols
  through ceph-common dependencies:
  * Erasure code unit tests (unittest_erasure_code_isa,
    unittest_erasure_code_plugin_isa, unittest_erasure_code_example)
  * Test libraries (radostest)
  * Plugins (denc-mod-osd, cls_refcount, cls_rgw, cls_lua, ec_lrc)

This also prevents ODR violations that would occur if targets linked
against these libraries directly while also getting them from
ceph-common. Such violations cause undefined behavior including
segmentation faults, as static variables and vtables would exist in
duplicate, leading to crashes during destruction or when accessing
shared state.

For example, before removing direct linkage from plugins, ceph-dencoder
would segfault on certain object types:

  /ceph/src/test/encoding/readable.sh: line 111: Segmentation fault
  $CEPH_DENCODER type ScrubMap import ... decode encode decode dump_json

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
13 days agoMerge pull request #65274 from ifed01/wip-ifed-more-max-lat
Igor Fedotov [Wed, 3 Dec 2025 14:46:08 +0000 (17:46 +0300)]
Merge pull request #65274 from ifed01/wip-ifed-more-max-lat

os/bluestore: track max latencies for key bluestore/bluefs perf counters

Reviewed-by: Adam Kupczyk <akupczyk@ibm.com>
13 days agosrc/test/crimson/CMakeLists: include dmclock 62002/head
Mohit Agrawal [Thu, 6 Nov 2025 12:52:23 +0000 (18:22 +0530)]
src/test/crimson/CMakeLists: include dmclock

Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
13 days agocrimson/CMakeLists.txt: include dmclock
Mohit Agrawal [Mon, 28 Jul 2025 14:44:47 +0000 (20:14 +0530)]
crimson/CMakeLists.txt: include dmclock

Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
13 days agocrimson/mclock_scheduler: Support mclock for crimson
Mohit Agrawal [Mon, 28 Jul 2025 13:25:41 +0000 (18:55 +0530)]
crimson/mclock_scheduler: Support mclock for crimson

The patch is trying to sync mclock source of crimson similar to
classic osds. Currently the feature is use by crimson only for
background recovery operations but later we will use it for other
OSD operations also.To use the same user need to configure
crimson_osd_scheduler_concurrency parameter for osd.

Replace item_t with WorkItem variant to maintain similarity
with classic OSD.

Introduce cost and priority as part of item_t.

Fixes: https://tracker.ceph.com/issues/67367
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
13 days agocrimson/background_recovery: switch to unified SchedulerClass and introduce get_avera...
Mohit Agrawal [Mon, 28 Jul 2025 13:19:14 +0000 (18:49 +0530)]
crimson/background_recovery: switch to unified SchedulerClass and introduce get_average_object_size for pg

1)  Replace usage of crimson::osd::scheduler::scheduler_class_t
    with unified SchedulerClass
2) Add priority to scheduler params structure
3) Introduce get_average_object_size for pg

Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
13 days agocrimson/osd: Refactor crimson scheduler wrapper
Mohit Agrawal [Mon, 28 Jul 2025 13:03:38 +0000 (18:33 +0530)]
crimson/osd: Refactor crimson scheduler wrapper

Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
13 days agocrimson/osd,osd_operation: initialize mClock scheduler, detect rotational devices...
Mohit Agrawal [Mon, 28 Jul 2025 12:48:57 +0000 (18:18 +0530)]
crimson/osd,osd_operation: initialize mClock scheduler, detect rotational devices, and run OperationThrottler background task

Initialize the mClock scheduler on all shards when the device class
is non-rotational. If the device is rotational throw an exception
to prevent unsupported configurations.

In addition, introduce a background task in OperationThrottler that
continuously dequeues and schedules client requests from the mClock
scheduler based on available credits and throttling limits.

Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
13 days agocommon/mclock_common: Declared MonClient for crimson in mclock_common
Mohit Agrawal [Mon, 28 Jul 2025 12:08:07 +0000 (17:38 +0530)]
common/mclock_common: Declared MonClient for crimson in mclock_common

Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
13 days agoMerge pull request #66453 from aainscow/lrc_fix
NitzanMordhai [Wed, 3 Dec 2025 09:55:59 +0000 (11:55 +0200)]
Merge pull request #66453 from aainscow/lrc_fix

osd: Perform shard look up correctly in partial EC writes

13 days agoMerge pull request #66384 from bill-scales/issue72879
NitzanMordhai [Wed, 3 Dec 2025 09:54:19 +0000 (11:54 +0200)]
Merge pull request #66384 from bill-scales/issue72879

Fix teuthology timeout issues with bluestore software compression and improve thread heartbeat timeout code

13 days agoMerge PR #66093 into main
Venky Shankar [Wed, 3 Dec 2025 06:40:18 +0000 (12:10 +0530)]
Merge PR #66093 into main

* refs/pull/66093/head:

Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Anoop C S <anoopcs@cryptolab.net>
Reviewed-by: Shwetha Acharya <sacharya@redhat.com>
2 weeks agomds: drop checking CEPH_MDS_OP_SETLAYOUT two times 66489/head
Jos Collin [Tue, 2 Dec 2025 12:58:13 +0000 (18:28 +0530)]
mds: drop checking CEPH_MDS_OP_SETLAYOUT two times

Signed-off-by: Jos Collin <jcollin@redhat.com>
2 weeks agoqa/d4n: Update host checks 66070/head
Samarah [Tue, 18 Nov 2025 16:21:40 +0000 (16:21 +0000)]
qa/d4n: Update host checks

Signed-off-by: Samarah <samarah.uriarte@ibm.com>
2 weeks agotest/d4n: Add temporary eviction testing
Samarah [Mon, 24 Nov 2025 20:14:13 +0000 (20:14 +0000)]
test/d4n: Add temporary eviction testing

Signed-off-by: Samarah <samarah.uriarte@ibm.com>
2 weeks agorgw/d4n: Add yield parameter to get_free_space
Samarah Uriarte [Mon, 27 Oct 2025 21:35:45 +0000 (16:35 -0500)]
rgw/d4n: Add yield parameter to get_free_space

Signed-off-by: Samarah Uriarte <samarah.uriarte@ibm.com>
2 weeks agoosd: Perform shard look up correctly in partial EC writes 66453/head
Alex Ainscow [Fri, 28 Nov 2025 14:33:13 +0000 (14:33 +0000)]
osd: Perform shard look up correctly in partial EC writes

Plugins are permitted to provide a mapping to change the order in which OSDs
are used. In practice only LRC does this and it is not currently enabled
with optimisations, so this is a theoretical bug.

The bug here was that the "first" shard was assumed to be shard_id_t(0).  However,
this is not true for LRC.

Fixes: https://tracker.ceph.com/issues/74016
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 weeks agoMerge pull request #65771 from aainscow/ec_direct_reads_pr_1
Alex Ainscow [Thu, 27 Nov 2025 23:17:37 +0000 (23:17 +0000)]
Merge pull request #65771 from aainscow/ec_direct_reads_pr_1

EC Direct Reads: First PR, background work

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Bill Scales <bill_scales@uk.ibm.com>
2 weeks agoMerge pull request #66377 from baum/rbd_aio_write_with_crc32c_initial_fix
Ilya Dryomov [Thu, 27 Nov 2025 22:58:38 +0000 (23:58 +0100)]
Merge pull request #66377 from baum/rbd_aio_write_with_crc32c_initial_fix

librbd: rbd_aio_write_with_crc32c store CRC32C with initial value -1 to match msgr2 validation

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2 weeks agoqa: Reduce number of osd threads when using compression 66384/head
Bill Scales [Fri, 21 Nov 2025 10:06:22 +0000 (10:06 +0000)]
qa: Reduce number of osd threads when using compression

Smithi nodes used by teuthology tests have 8 CPU cores and typically run
4 OSD processes. When bluestore software compression is enabled the size
of the OSD thread pool needs to be reduced to 2 threads per OSD because
these threads can easily use 100% of a core. This avoids excessive
amounts of context switches, which leads to OSD threads timing out,
which causes the OSD to drop heartbeat pings and for the monitor to
temporarily mark it down. In extreme cases this can lead to PGs getting
stuck in repeated loops of peering until the teuthology test times out.

Context switches happen oppurtunistically at the end of system calls
so functions with lots of logging are some of the worst affected.

Fixes: https://tracker.ceph.com/issues/72879
Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
2 weeks agoosd: Restrict logging in MissingLoc::add_source_info
Bill Scales [Fri, 21 Nov 2025 10:38:44 +0000 (10:38 +0000)]
osd: Restrict logging in MissingLoc::add_source_info

add_source_info can generate an excessive amount of logging
if a PG has thousands of missing objects. When a system is
under load and threads are repeatedly context switching this
can lead to timeouts (tests showed this function taking up
to 10 seconds to execute with 99% of that time being in
logging calls where the thread was being pre-empted).
Stopping logging after the function has been running for
more than 0.5 seconds strikes a balance between providing
sufficient informtion to debug problems while providing
more stability when a system is heavily loaded.

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
2 weeks agoosd: Increase log level for listing missing list
Bill Scales [Fri, 21 Nov 2025 10:25:48 +0000 (10:25 +0000)]
osd: Increase log level for listing missing list

Logging the entire contents of a missing list can generate a
1M character log line when there are 8000 missing objects in a
PG. Other places in the code logging the missing list use debug
level 25 which is not enabled by default in teuthology tests.

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
2 weeks agoosd: reset_tp_timeout should reset timeout for all shards
Bill Scales [Mon, 24 Nov 2025 09:18:21 +0000 (09:18 +0000)]
osd: reset_tp_timeout should reset timeout for all shards

ShardedThreadPools are only used by the classic OSD process
which can have more than one thread for the same shard. Each
thread has a heartbeat timeout used to detect stalled threads.
Some code that is known to take a long time makes calls to
reset_tp_timeout to reset this timeout. However for sharded
pools this can be ineffective because it is common for threads
for the same shard to use the same locks (e.g. PG Lock) and
therefore if thread A is taking a long time and resetting
its timeout while holding a lock, thread B for the same shard
is liable to be waiting for the same lock, will not be
resetting its timeout and can be timed out.

Debug for issue 72879 showed heartbeat timeouts occurring at
the same time for both shards, an attempt to fix the problem
by calling reset_tp_timeout for the slow thread still showed
the other threads for the shard timing out waiting for the PG
lock that was held bythe slow thread. Looking at the OSD code
most places where reset_tp_timeout is called the thread is
holding the PG lock.

This commit moves the concept of shard_index from OSD into
ShardedThreadPool and modifies reset_tp_timeout so that it resets
the timeout for all threads for the same shard.

Some code calls reset_tp_timeout from inside loops that can take
a long time without consideration for how long the thread has
actually been running for. There is a risk that this type of
call could repeatedly reset the timeout for another shard which
is genuinely stuck and hence defeat the heartbeat checks. To
prevent this reset_tp_timeout is modified to be a NOP unless
the thread has been processing the current workitem for more
than 0.5 seconds. Therefore threads have to be slow but making
forward progress to be abe to reset the timeout.

Fixes: https://tracker.ceph.com/issues/72879
Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
2 weeks agoMerge pull request #65739 from tchaikov/rgw-gap-list-manpage
Kefu Chai [Thu, 27 Nov 2025 04:12:08 +0000 (12:12 +0800)]
Merge pull request #65739 from tchaikov/rgw-gap-list-manpage

debian: include rgw-gap-list manpage and rgw-policy-check in ceph-common

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
Reviewed-by: Matan Breizman <mbreizma@ibm.com>
2 weeks agoosdc: Add SplitOp capability to Objecter 65771/head
Alex Ainscow [Tue, 14 Oct 2025 08:24:56 +0000 (09:24 +0100)]
osdc: Add SplitOp capability to Objecter

This will provide the ability for Objecter to split up
certain ops and distribute them to the OSDs directly if
that provides a preformance advantage.

This is experimental code and is switched off unless the
magic pool flags are enabled. These magic pool flags were
pushed in an earlier commit in the same PR.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 weeks agoosdc: Fix minor typo
Alex Ainscow [Mon, 13 Oct 2025 11:50:11 +0000 (12:50 +0100)]
osdc: Fix minor typo

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 weeks agoosdc: Interface to allow split reads to copy op from client op to split op
Alex Ainscow [Fri, 3 Oct 2025 14:34:55 +0000 (15:34 +0100)]
osdc: Interface to allow split reads to copy op from client op to split op

When spliting ops, certain addition sub ops (e.g. get xattr) can be simply passed
through to the child op.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 weeks agoosdc: Add stub for ability to force an op to always go to a particular shard
Alex Ainscow [Fri, 3 Oct 2025 14:32:22 +0000 (15:32 +0100)]
osdc: Add stub for ability to force an op to always go to a particular shard

This will eventually be used by SplitIo to direct ops to the correct OSD.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 weeks agoosdc: Split handle_osd_op_reply into two functions
Alex Ainscow [Fri, 3 Oct 2025 14:15:29 +0000 (15:15 +0100)]
osdc: Split handle_osd_op_reply into two functions

The functionality is not altered by this commit.

In the future we want to post-process split-ios after
recombining the read data.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 weeks agoosdc: Remove unused con parameter from Objecter::_calc_target()
Alex Ainscow [Fri, 3 Oct 2025 14:11:00 +0000 (15:11 +0100)]
osdc: Remove unused con parameter from Objecter::_calc_target()

This parameter is not used by the _calc_target code.  It is being
removed just to clean up the code, as we are making some changes
to _calc_target in later stages of the split io PR.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 weeks agoosdc: Interface to submit IO with ASIO Post.
Alex Ainscow [Fri, 3 Oct 2025 13:55:56 +0000 (14:55 +0100)]
osdc: Interface to submit IO with ASIO Post.

For direct read failures, the locking is such that we cannot
immediately send a new IO without deadlocking. This new interface
allows an op to be sent as an asio post.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 weeks agoosd: Call clear_repop_obc for EC as well as Replica.
Alex Ainscow [Fri, 3 Oct 2025 13:51:23 +0000 (14:51 +0100)]
osd: Call clear_repop_obc for EC as well as Replica.

This function is necessary for balanced reads and as such is required for EC too.

Rename the function to make sense, given this change of purpose, but the
functionality does not change.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 weeks agoosd: Implement sync reads and sparse reads for EC for direct reads
Alex Ainscow [Fri, 3 Oct 2025 13:39:03 +0000 (14:39 +0100)]
osd: Implement sync reads and sparse reads for EC for direct reads

Sparse reads for EC are simple to implement, as the code is essentially
identical to that of replica, with some address translation.

When doing a direct read in EC, only a single OSD is involved and
that OSD, by definition is the only OSD involved. As such we can
do the more performant sync read, rather than async read.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 weeks agoosd: Add extent_to_shard_extent interface to PGBackend.
Alex Ainscow [Fri, 3 Oct 2025 13:24:49 +0000 (14:24 +0100)]
osd: Add extent_to_shard_extent interface to PGBackend.

This allows a backend to expose how an object offset/length translates to
an offset/length on a particular shard.

For Replica, this is trivial.

For EC, this means looking up the start and end offsets, then translating
this to shard address space.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 weeks agoosd: Set the from shard in the EC read reply.
Alex Ainscow [Fri, 3 Oct 2025 13:17:48 +0000 (14:17 +0100)]
osd: Set the from shard in the EC read reply.

This was not necessary prior to direct reads, but is essential when the
client needs to know which shard the read came from.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 weeks agoosd: Generalise can_serve_replica_read for consumption by EC.
Alex Ainscow [Fri, 3 Oct 2025 13:15:32 +0000 (14:15 +0100)]
osd: Generalise can_serve_replica_read for consumption by EC.

The can_serve_replica_read() function is called by replica to determine whether there are
any uncommitted writes.  If such writes exist, then the system will reject the IO to avoid
the risk of reading data from a write which may yet be rolled back.

The same code is going to be useful for EC direct reads.

The string_view code is not expensive.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 weeks agoosd: Create EC Direct Read flag and pass through to EC.
Alex Ainscow [Fri, 3 Oct 2025 13:00:10 +0000 (14:00 +0100)]
osd: Create EC Direct Read flag and pass through to EC.

This is in preperation for supporting sparse and sync reads in EC.
Such ops will only be supported for "balance reads".

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 weeks agoosd: Replace unused EC offset translation function with useful one.
Alex Ainscow [Fri, 3 Oct 2025 12:53:33 +0000 (13:53 +0100)]
osd: Replace unused EC offset translation function with useful one.

The old chunk_aligned_shard_offset_to_ro_offset was not only unused, it
didn't actually have the correct logic. We replace it here with similar,
but more useful function that will be used in sparse reads for EC

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 weeks agoosd: Introduce pool flag for "split IO" and Plugin flag for "direct read"
Alex Ainscow [Fri, 3 Oct 2025 12:49:58 +0000 (13:49 +0100)]
osd: Introduce pool flag for "split IO" and Plugin flag for "direct read"

These flags will currently behave as follows:

1. The pool flag is never set, unless by a user with the osd_pool_default_flags
   config option.
2. The pool flag will be removed for EC pools where the plugin does not support
   direct reads.
3. Replica pools will never remove the flag.

The intention is to eventually invert this logic and allow split IOs upon
upgrade to Umberella in this same function.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 weeks agoObjecter: respect higher epoch subscription in tick 66304/head
Nitzan Mordechai [Tue, 18 Nov 2025 09:37:48 +0000 (09:37 +0000)]
Objecter: respect higher epoch subscription in tick

The OSD and Objecter share the same MonClient. During preboot, a potential
race condition exists where the OSD subscribes to osdmap epoch X, while
the Objecter subscribes to epoch X - 1.

The Objecter's subscription overrides the OSD's subscription. Consequently,
the monitor ignores the request (as it believes the OSD already has the
older map), causing the OSD to hang during preboot.

To fix this, check if a higher epoch is already subscribed before calling
_maybe_request_map during Objecter::tick. If a higher epoch is found,
maintain the existing subscription.

Fixes: https://tracker.ceph.com/issues/71931
Signed-off-by: Nitzan Mordechai <nmordech@ibm.com>
2 weeks agolibrbd: store CRC32C with initial value -1 to match msgr2 validation 66377/head
Alexander Indenbaum [Sun, 23 Nov 2025 12:21:39 +0000 (14:21 +0200)]
librbd: store CRC32C with initial value -1 to match msgr2 validation

Fix runtime error, using test command:
   sudo dd if=/dev/zero bs=32k of=/dev/nvme0n1 count=1

The error log:
   2025-11-23T11:24:10.512+0000 7f30f4ec0640  1 --2- [v2:192.168.13.2:6802/3444906816,v1:192.168.13.2:6803/3444906816] >> 192.168.13.3:0/3916714748 conn(0x527d400 0x728f700 crc :-1 s=THROTTLE_DONE pgs=2038703 gs=2038723 cs=0 l=1 c_cookie=0 s_cookie=0 reconnecting=0 rev1=1 crypto rx=0 tx=0 comp rx=0 tx=0)._handle_read_frame_epilogue_main bad segment crc calculated=1136411986 expected=4294967295

Ceph msgr2 validation (ceph/src/msg/async/frames_v2.cc:47):
   uint32_t crc = segment_bl.crc32c(-1);  // Uses initial value -1

Co-authored-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
3 weeks agoMerge pull request #66336 from Matan-B/wip-matanb-crimson-snapmapper-osddriver
Matan Breizman [Tue, 25 Nov 2025 13:59:03 +0000 (15:59 +0200)]
Merge pull request #66336 from Matan-B/wip-matanb-crimson-snapmapper-osddriver

osd/SnapMapper: fix Crimson logs

Reviewed-by: Aishwarya Mathuria <amathuri@redhat.com>
3 weeks agoMerge pull request #66332 from rhcs-dashboard/73854-CephFS-Authorize-modal-Update...
afreen23 [Tue, 25 Nov 2025 11:00:32 +0000 (16:30 +0530)]
Merge pull request #66332 from rhcs-dashboard/73854-CephFS-Authorize-modal-Update-issues

mgr/dashboard : fix - CephFS Authorize Modal Update issue

Reviewed-by: Dnyaneshwari Talwekar dtalweka@redhat.com
3 weeks agomgr/dashboard: Remove ng script 66402/head
Afreen Misbah [Tue, 25 Nov 2025 06:41:10 +0000 (12:11 +0530)]
mgr/dashboard: Remove ng script

-  the angualr CLI is replaced by NX
-  hence the script wont work anymore

Signed-off-by: Afreen Misbah <afreen@ibm.com>
3 weeks agoMerge pull request #66382 from bluikko/doc-mgmt-gateway-improvements-cephadm
bluikko [Tue, 25 Nov 2025 05:22:05 +0000 (12:22 +0700)]
Merge pull request #66382 from bluikko/doc-mgmt-gateway-improvements-cephadm

doc/cephadm: Fix command plus improvements in services/mgmt-gateway.rst

3 weeks agoMerge pull request #66006 from afreen23/carbonize-chnage-password
afreen23 [Mon, 24 Nov 2025 12:22:40 +0000 (17:52 +0530)]
Merge pull request #66006 from afreen23/carbonize-chnage-password

mgr/dashboard: Carbonize the Change Password Form

Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Dnyaneshwari Talwekar dtalweka@redhat.com
3 weeks agoMerge pull request #66326 from afreen23/fixes-mixins
afreen23 [Mon, 24 Nov 2025 12:17:33 +0000 (17:47 +0530)]
Merge pull request #66326 from afreen23/fixes-mixins

monitoring: Fixes for development

Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Anthony D Atri <anthony.datri@gmail.com>
3 weeks agomgr/dashboard : fix - CephFS Authorize Modal Update issue 66332/head
Devika Babrekar [Thu, 20 Nov 2025 11:33:56 +0000 (17:03 +0530)]
mgr/dashboard : fix - CephFS Authorize Modal Update issue
fixes : https://tracker.ceph.com/issues/73854
Signed-off-by: Devika Babrekar <devika.babrekar@ibm.com>
3 weeks agodoc/cephadm: Fix command plus improvements in service/mgmt-gateway.rst 66382/head
Ville Ojamo [Mon, 24 Nov 2025 09:34:19 +0000 (16:34 +0700)]
doc/cephadm: Fix command plus improvements in service/mgmt-gateway.rst

Remove double backticks from a CLI command.

Use bash prompt consistently for CLI command blocks.

Don't capitalize word in middle of sentence.

Talk about "admin" instead of "user", similarly to the last text
paragraph in the doc.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
3 weeks agomgr/dashboard: Carbonize the Change Password Form 66006/head
Afreen Misbah [Tue, 21 Oct 2025 16:37:46 +0000 (22:07 +0530)]
mgr/dashboard: Carbonize the Change Password Form

Fixes https://tracker.ceph.com/issues/73193

-  using carbon based stylings, typography and components
-  used grid layout for form arrangement
-  breadcrumb is slightly off, which needs to be fixed by applying grid layout to the app shell

Signed-off-by: Afreen Misbah <afreen@ibm.com>
3 weeks agoMerge pull request #66372 from tchaikov/wip-qa-encoder-exclude
Kefu Chai [Mon, 24 Nov 2025 08:27:14 +0000 (16:27 +0800)]
Merge pull request #66372 from tchaikov/wip-qa-encoder-exclude

qa/suites/rados/encoder: exclude ceph-osd-classic when installing LTS…

Reviewed-by: Matan Breizman <mbreizma@ibm.com>
3 weeks agoqa/suites/rados/encoder: exclude ceph-osd-* when installing LTS releases 66372/head
Kefu Chai [Sat, 22 Nov 2025 00:24:36 +0000 (08:24 +0800)]
qa/suites/rados/encoder: exclude ceph-osd-* when installing LTS releases

In a37b5b5, the ceph-osd-classic and ceph-osd-crimson packages were
added to qa/packages/packages.yaml. The "install" task uses this file as
the default package list for all branches, including LTS releases like
Reef.

However, a37b5b5 only exists in the main branch and won't be backported
to LTS branches. This causes installation failures in the rados/encoder
test suite, which verifies forward compatibility by installing LTS
releases and testing whether they can decode the latest corpus.

Exclude ceph-osd-classic and ceph-osd-crimson from LTS installations to
ensure the test suite can successfully install ceph-dencoder, which is
required for the interoperability tests.

Fixes: https://tracker.ceph.com/issues/73957
Signed-off-by: Kefu Chai <k.chai@proxmox.com>
3 weeks agoMerge pull request #66293 from anthonyeleven/instore.dbnoonecanhearyouscream
Anthony D'Atri [Mon, 24 Nov 2025 06:07:04 +0000 (01:07 -0500)]
Merge pull request #66293 from anthonyeleven/instore.dbnoonecanhearyouscream

doc: Improve start/hardware-recommendations.rst

3 weeks agoMerge pull request #65995 from pcuzner/rocksdb_compaction_metric
Laura Flores [Sat, 22 Nov 2025 00:04:21 +0000 (18:04 -0600)]
Merge pull request #65995 from pcuzner/rocksdb_compaction_metric

rados/osd: enable compact_running perfcounter at PRIO=5

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Neha Ojha <nojha@ibm.com>
3 weeks agodoc: Improve start/hardware-recommendations.rst 66293/head
Anthony D'Atri [Mon, 17 Nov 2025 17:57:29 +0000 (12:57 -0500)]
doc: Improve start/hardware-recommendations.rst

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
3 weeks agoosd/SnapMapper: fix Crimson logs 66336/head
Matan Breizman [Thu, 20 Nov 2025 13:46:49 +0000 (13:46 +0000)]
osd/SnapMapper: fix Crimson logs

Switch to crimson's debugging macro and fix the faulty
subsystem defined of ceph_subsys_

Might help with https://tracker.ceph.com/issues/73790

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
3 weeks agoMerge pull request #65915 from edwinzrodriguez/ceph-zstd-update
SrinivasaBharathKanta [Thu, 20 Nov 2025 03:27:33 +0000 (08:57 +0530)]
Merge pull request #65915 from edwinzrodriguez/ceph-zstd-update

zstd: Update zstd to 1.5.6 for cmake 4 compatability

3 weeks agomonitoring: Fixes for development 66326/head
Afreen Misbah [Wed, 19 Nov 2025 20:03:26 +0000 (01:33 +0530)]
monitoring: Fixes for development

- fixes tox.ini using and undefined env - `grafonnet-check`( instead of `jsonnet-check`)
- adds steps for local development of mixins and building jsonnet
- added help command in Makefile
- added comments and descriptions for Makefile and tox.ini

Signed-off-by: Afreen Misbah <afreen@ibm.com>
3 weeks agoMerge pull request #66268 from Matan-B/wip-matanb-old-clients-installs
Matan Breizman [Wed, 19 Nov 2025 13:07:59 +0000 (15:07 +0200)]
Merge pull request #66268 from Matan-B/wip-matanb-old-clients-installs

qa/suites/thrash-old-clients/1-install: exclude ceph-osd-classic

Reviewed-by: Radosław Zarzyński <rzarzyns@redhat.com>
Reviewed-by: Laura Flores <lflores@redhat.com>
3 weeks agoMerge pull request #62765 from bobham-bloomberg/unittest-ceph-assert
Joseph Mundackal [Wed, 19 Nov 2025 11:28:21 +0000 (06:28 -0500)]
Merge pull request #62765 from bobham-bloomberg/unittest-ceph-assert

test/ceph_assert.cc: Disable core files

3 weeks agoMerge pull request #66307 from shraddhaag/wip-shraddhaag-fix-slow-ops
Shraddha Agrawal [Wed, 19 Nov 2025 07:21:19 +0000 (12:51 +0530)]
Merge pull request #66307 from shraddhaag/wip-shraddhaag-fix-slow-ops

qa/clusters/crimson: increase reactors in fixed-1 cluster

Reviewed-by: Matan Breizman <mbreizma@ibm.com>
3 weeks agoMerge pull request #65971 from ceph/wip-20.2.0-documentation
Dan Mick [Tue, 18 Nov 2025 18:55:39 +0000 (10:55 -0800)]
Merge pull request #65971 from ceph/wip-20.2.0-documentation

doc: add Tentacle v20.2.0 release notes

3 weeks agoMerge pull request #65374 from dang/wip-dang-standalone
Daniel Gryniewicz [Tue, 18 Nov 2025 18:03:48 +0000 (13:03 -0500)]
Merge pull request #65374 from dang/wip-dang-standalone

RGW - Standalone - Enable building without librados

3 weeks agodoc/releases: add cephadm notes 65971/head
Laura Flores [Tue, 18 Nov 2025 17:57:39 +0000 (11:57 -0600)]
doc/releases: add cephadm notes

Signed-off-by: Laura Flores <lflores@ibm.com>
3 weeks agodoc/releases: change final release date
Laura Flores [Tue, 18 Nov 2025 17:36:11 +0000 (11:36 -0600)]
doc/releases: change final release date

Signed-off-by: Laura Flores <lflores@ibm.com>
3 weeks agodoc/releases/tentacle: add missing rgw deprecation notice
Casey Bodley [Fri, 24 Oct 2025 12:57:52 +0000 (08:57 -0400)]
doc/releases/tentacle: add missing rgw deprecation notice

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 weeks agodoc/releases/tentacle: fix Crimson highlight
Matan Breizman [Wed, 22 Oct 2025 11:36:04 +0000 (11:36 +0000)]
doc/releases/tentacle: fix Crimson highlight

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
3 weeks agodoc/releases/tentacle: add Crimson highlight
Matan Breizman [Tue, 21 Oct 2025 09:03:23 +0000 (09:03 +0000)]
doc/releases/tentacle: add Crimson highlight

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
3 weeks agodoc/releases: arrange sections in alphabetical order
Laura Flores [Mon, 20 Oct 2025 20:43:04 +0000 (15:43 -0500)]
doc/releases: arrange sections in alphabetical order

Signed-off-by: Laura Flores <lflores@ibm.com>
3 weeks agodoc/releases/tentacle.rst: more RBD items
Ilya Dryomov [Mon, 20 Oct 2025 16:29:07 +0000 (18:29 +0200)]
doc/releases/tentacle.rst: more RBD items

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 weeks agodoc/releases/tentacle.rst: fix seastore typo
Matan Breizman [Mon, 20 Oct 2025 16:21:37 +0000 (16:21 +0000)]
doc/releases/tentacle.rst: fix seastore typo

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
3 weeks agodoc/releases: remove extra word
Laura Flores [Mon, 20 Oct 2025 16:08:13 +0000 (11:08 -0500)]
doc/releases: remove extra word

Signed-off-by: Laura Flores <lflores@ibm.com>
3 weeks agodoc/releases/tentacle.rst: Update Crimson section
Matan Breizman [Sun, 19 Oct 2025 08:52:03 +0000 (08:52 +0000)]
doc/releases/tentacle.rst: Update Crimson section

Refer to Tentacle Crimson updates blog post

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
3 weeks agodoc/releases: remove note that is not specific to tentacle
Laura Flores [Fri, 17 Oct 2025 23:15:05 +0000 (18:15 -0500)]
doc/releases: remove note that is not specific to tentacle

Signed-off-by: Laura Flores <lflores@ibm.com>
3 weeks agodoc/releases: move smb support update into highlights
Laura Flores [Fri, 17 Oct 2025 22:54:06 +0000 (17:54 -0500)]
doc/releases: move smb support update into highlights

Signed-off-by: Laura Flores <lflores@ibm.com>
3 weeks agodoc/releases: give smb update a better category title
Laura Flores [Fri, 17 Oct 2025 20:32:25 +0000 (15:32 -0500)]
doc/releases: give smb update a better category title

Signed-off-by: Laura Flores <lflores@ibm.com>
3 weeks agodoc/releases: add Crimson section and clean up references
Laura Flores [Fri, 17 Oct 2025 16:13:42 +0000 (11:13 -0500)]
doc/releases: add Crimson section and clean up references

Signed-off-by: Laura Flores <lflores@ibm.com>
3 weeks agodoc/releases: edit formatting and other small changes
Ville Ojamo [Fri, 17 Oct 2025 15:32:58 +0000 (22:32 +0700)]
doc/releases: edit formatting and other small changes

Formatting with double backticks, indentation etc.

Fix some typos and add missing hyphenation.

Add review comment suggestions by anthonyeleven after OOB discussion.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
3 weeks agodoc/releases: add one more item to RADOS
Laura Flores [Thu, 16 Oct 2025 19:14:44 +0000 (14:14 -0500)]
doc/releases: add one more item to RADOS

Signed-off-by: Laura Flores <lflores@ibm.com>