]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/log
ceph-ci.git
44 hours agotest/librados: Fix split op tests ec_direct_reads wip-aainscow-ec-direct-reads
Alex Ainscow [Tue, 21 Oct 2025 13:33:27 +0000 (14:33 +0100)]
test/librados: Fix split op tests

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
44 hours agotest/librados: Add testcase handlers to look at stats and check split_ops
Alex Ainscow [Tue, 21 Oct 2025 13:29:29 +0000 (14:29 +0100)]
test/librados: Add testcase handlers to look at stats and check split_ops

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
44 hours agoAdd logger stub for split_op_reads
Alex Ainscow [Tue, 21 Oct 2025 13:29:00 +0000 (14:29 +0100)]
Add logger stub for split_op_reads

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
44 hours agoosdc: Allow CMPXATTR
Alex Ainscow [Tue, 21 Oct 2025 13:28:31 +0000 (14:28 +0100)]
osdc: Allow CMPXATTR

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
44 hours agoosdc: SplitOp.init() can assume validate() has executed.
Alex Ainscow [Tue, 21 Oct 2025 13:28:10 +0000 (14:28 +0100)]
osdc: SplitOp.init() can assume validate() has executed.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
44 hours agoosdc: Split ops should forward the RC from the primary OSD on success.
Alex Ainscow [Tue, 21 Oct 2025 13:27:07 +0000 (14:27 +0100)]
osdc: Split ops should forward the RC from the primary OSD on success.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
44 hours agoosdc: Splitops must not assume each shard is a different OSD
Alex Ainscow [Tue, 21 Oct 2025 13:26:42 +0000 (14:26 +0100)]
osdc: Splitops must not assume each shard is a different OSD

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
44 hours ago Move split ops tests to split_op_cxx.cc
Alex Ainscow [Tue, 21 Oct 2025 13:25:18 +0000 (14:25 +0100)]
 Move split ops tests to split_op_cxx.cc

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
44 hours agoFIXUP: Allow CRCs on erasure pools.
Alex Ainscow [Tue, 21 Oct 2025 13:24:52 +0000 (14:24 +0100)]
FIXUP: Allow CRCs on erasure pools.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
44 hours agoFIXUP: Fix FLAG -> FLAGS
Alex Ainscow [Tue, 21 Oct 2025 13:24:28 +0000 (14:24 +0100)]
FIXUP:  Fix FLAG -> FLAGS

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
44 hours agotest/osd: Add balanced read flag to a percentage of read ops
Matty Williams [Mon, 20 Oct 2025 15:46:43 +0000 (16:46 +0100)]
test/osd: Add balanced read flag to a percentage of read ops

Add command line argument to specify percentage of read ops that should use the balanced reads flag. Default is 100%.

Signed-off-by: Matty Williams <Matty.Williams@ibm.com>
44 hours agoosd: Optimized EC missing list not updated on recovering shard (OLD FIX)
Bill Scales [Wed, 1 Oct 2025 14:52:23 +0000 (15:52 +0100)]
osd: Optimized EC missing list not updated on recovering shard (OLD FIX)

Shards that are recovering (last_complete != last_update) are using
pwlc to advance last_update for writes that did not effect the shard.
However simply incrementing last_update means that the primary doesnt
send the shard log entries that it missed and consequently it cannot
update its missing list.

If the shard is already missing object X at version V1 and there was
a partial write at V2 that did not update the shard, it does not need
to retain the log entry, but it does need to update the missing list
to say it needs V2 rather than V1. This ensures all shards report
a need for an object at the same version and avoids an assert in
MissingLoc::add_active_missing when the primary is trying to
combine the missing lists from all the shards to work out what has
to be recovered.

The fix is to avoid applying pwlc when last_complete != last_update,
this forces the primary to send the log to the recovering shard
which can then update its missing list (and discarding the log
entries as they are partial writes).

Fixes: https://tracker.ceph.com/issues/73249
Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
44 hours agoosdc: Forward cls call to version.read to primary
Alex Ainscow [Fri, 17 Oct 2025 17:33:09 +0000 (18:33 +0100)]
osdc: Forward cls call to version.read to primary

RGW uses a class method on erasure coded pools to read a version
number attribute. These are associated with large reads which
would benefit from direct reads.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
44 hours agoosdc: outbl concatenates all output buffers.
Alex Ainscow [Fri, 17 Oct 2025 12:22:03 +0000 (13:22 +0100)]
osdc: outbl concatenates all output buffers.

The functionality defened by librados tests is that if an outbl and
out_bl buffers are provided by the client and there are multiple ops
then the outbl is a concatenation of all out_bl buffers. splitOps needs
to honour this too.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
44 hours agotest/librados: Extend cxx tests to cover split ops and fast EC
Alex Ainscow [Fri, 17 Oct 2025 12:21:18 +0000 (13:21 +0100)]
test/librados: Extend cxx tests to cover split ops and fast EC

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
44 hours agoosdc: SplitOps handle client-provided buffers without replacing them.
Alex Ainscow [Fri, 17 Oct 2025 08:26:34 +0000 (09:26 +0100)]
osdc: SplitOps handle client-provided buffers without replacing them.

Some clients provide buffers to be written to by Objecter through a
(legacy?) field in the op called "outbl" (not to be confused with out_bl).

If those clients provide a buffer of exactly the right size, then the
expectation is that the buffer gets written to without being moved. This change
makes SplitOps mimic the read completion behaviour from Objecter.

The memcpy here is a significant performance impact, however it is thought
that most clients will not use this interface.

There are many comments in this code to explain the reasons, as it is quite
a surprising mechanism.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
44 hours agoosdc: SplitOps tolerate object underruns
Alex Ainscow [Fri, 17 Oct 2025 08:11:48 +0000 (09:11 +0100)]
osdc: SplitOps tolerate object underruns

The OSDs can correctly under run a read if the object is smaller than the
requested read size.  The librados test suite detected that the split ops
code did not tolerate such an underrun.  This is now fixed.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
44 hours agoosd: Make EC Sync reads return a zero RC for success.
Alex Ainscow [Fri, 17 Oct 2025 08:09:54 +0000 (09:09 +0100)]
osd: Make EC Sync reads return a zero RC for success.

This was a misunderstanding of the API. The librados client expects that
a read returns zero on success, not the number of bytes read.

Correspondingly, simplify the client-based SplitOps rc handling code to
always return 0. It tolerates >0 RCs, but will always return zero.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
44 hours agotest/librados: Extend librados tests to cover both fast EC and split ops.
Alex Ainscow [Fri, 17 Oct 2025 08:01:38 +0000 (09:01 +0100)]
test/librados: Extend librados tests to cover both fast EC and split ops.

The librados tests have special handling for EC, but they do not attempt to test
either fast EC or split ops. This change upgrades the tests to be paramaterized
tests and constructs the necessary pools and boilerplate.

There is also a minor tweak to a stat tests to allow for longer names which
get generated in my containerised test environment.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
44 hours agoosd: Add mon command to override pool flags.
Alex Ainscow [Fri, 17 Oct 2025 07:52:27 +0000 (08:52 +0100)]
osd: Add mon command to override pool flags.

This is intended as a developer too and as such requires the
yes_i_really_mean_it flag. The idea is that we can add new
experimental pool features, with a generic way of turning
the features on, without polluting the parameters in the command
yet further.

The command is perhaps a little messy:

ceph osd pool <pool> set set_pool_flags <int>
ceph osd pool <pool> set unset_pool_flags <int>

I also decided against an API to show the pool flags. As this
would be hard to read without some complex decode and the
functionality to observe pool flags in logs with high debug
levels already exists.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
44 hours agoosd: Add actual_pgid to debug_op_summary
Alex Ainscow [Wed, 15 Oct 2025 12:33:31 +0000 (13:33 +0100)]
osd: Add actual_pgid to debug_op_summary

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
44 hours agoosdc: Disable debug in SplitOp
Alex Ainscow [Tue, 14 Oct 2025 10:33:54 +0000 (11:33 +0100)]
osdc: Disable debug in SplitOp
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
44 hours agoosd: Relax missing entry assert for partial writes.
Alex Ainscow [Fri, 3 Oct 2025 12:35:48 +0000 (13:35 +0100)]
osd: Relax missing entry assert for partial writes.

This assert was relaxed to allow for missing partial write logs. However
it needs to be relaxed further to cope with the missing list not containing
some objects with later log entries.

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

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
44 hours agoosd: Optimized EC missing list not updated on recovering shard
Bill Scales [Wed, 1 Oct 2025 14:52:23 +0000 (15:52 +0100)]
osd: Optimized EC missing list not updated on recovering shard

Shards that are recovering (last_complete != last_update) that
skip transactions and log entries because of partial writes are
using pwlc to advance last_update. However simply incrementing
last_update is not sufficient - there are scenarios where the
needed version of a missing object has to be updated.

If the shard is already missing object X at version V1 and there was
a partial write at V2 that did not update the shard, it does not need
to retain the log entry, but it does need to update the missing list
to say it needs V2 rather than V1. This ensures all shards report
a need for an object at the same version and avoids an assert in
MissingLoc::add_active_missing when the primary is trying to
combine the missing lists from all the shards to work out what has
to be recovered. Avoiding applying pwlc during the early phase
of the peering process ensures the missing list gets updated.

However if a shard is not missing object X and there was a partial
write at V2 that did not update the shard then at the end of peering
it is still necessary to advance last_upadte by applying pwlc. This
ensures that in later peering cycles the code does not change its
mind and think the shard is now missing object X.

The fix is to be more sophisticated about when pwlc can be used
to advance last_update for a recovering shard. The code now
passes in a parameter indicating whether we are in the early
(pre activate) or later phase of peering. This also means that
additional calls to apply_pwlc are needed when peering gets to
activating and is searching for missing to make updates that were
not made earlier.

Fixes: https://tracker.ceph.com/issues/73249
Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
44 hours agoMAYBE PUSH? Extra assert
Alex Ainscow [Mon, 13 Oct 2025 13:45:07 +0000 (14:45 +0100)]
MAYBE PUSH? Extra assert

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
44 hours agoDO NOT PUSH: Force IO Sequencer to make balanced reads
Alex Ainscow [Mon, 13 Oct 2025 13:41:15 +0000 (14:41 +0100)]
DO NOT PUSH: Force IO Sequencer to make balanced reads

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
44 hours agoosdc: Add SplitOp capability to Objecter
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>
44 hours 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>
44 hours 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>
44 hours 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>
44 hours 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>
44 hours 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>
44 hours 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>
44 hours 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>
44 hours agoosd: Implement sparse reads for EC for direct reads only
Alex Ainscow [Fri, 3 Oct 2025 13:47:15 +0000 (14:47 +0100)]
osd: Implement sparse reads for EC for direct reads only

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

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

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>
44 hours 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>
44 hours 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>
44 hours 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>
44 hours 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>
44 hours 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>
44 hours 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>
44 hours agoMerge pull request #65997 from YiteGu/fix-param-err-for-ratelimit-command
Anthony D'Atri [Tue, 21 Oct 2025 13:06:58 +0000 (09:06 -0400)]
Merge pull request #65997 from YiteGu/fix-param-err-for-ratelimit-command

doc/rgw: use --bucket instead of --uid

44 hours agoMerge pull request #65772 from cbodley/wip-73348
Casey Bodley [Tue, 21 Oct 2025 13:02:05 +0000 (09:02 -0400)]
Merge pull request #65772 from cbodley/wip-73348

rgw: fix 'bucket rm --bypass-gc' for copied objects

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
44 hours agoMerge pull request #65775 from cbodley/wip-73361
Casey Bodley [Tue, 21 Oct 2025 13:01:39 +0000 (09:01 -0400)]
Merge pull request #65775 from cbodley/wip-73361

rgw: RGWSI_Notify drains the finisher before deleting RGWWatchers

Reviewed-by: Adam Emerson <aemerson@redhat.com>
44 hours agoMerge pull request #65996 from YiteGu/fix-desc-err-for-max-read-ops
Anthony D'Atri [Tue, 21 Oct 2025 12:59:49 +0000 (08:59 -0400)]
Merge pull request #65996 from YiteGu/fix-desc-err-for-max-read-ops

doc/rgw: fix the description error of --max-read-ops

46 hours agoMerge pull request #64331 from Jayaprakash-ibm/wip-cputrace-addition
Jaya Prakash [Tue, 21 Oct 2025 11:06:11 +0000 (16:36 +0530)]
Merge pull request #64331 from Jayaprakash-ibm/wip-cputrace-addition

common: Add cputrace tool for scope-based CPU performance tracing

Reviewed-by: Adam Kupczyk <akupczyk@ibm.com>
2 days agoMerge pull request #65977 from rhcs-dashboard/fix-73563-main
afreen23 [Tue, 21 Oct 2025 08:48:24 +0000 (14:18 +0530)]
Merge pull request #65977 from rhcs-dashboard/fix-73563-main

mgr/dashboard: fix multisite wizard realm configuration mode

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Naman Munet <nmunet@redhat.com>
2 days agodoc/rgw: use --bucket instead of --uid
Yite Gu [Tue, 21 Oct 2025 06:26:24 +0000 (14:26 +0800)]
doc/rgw: use --bucket instead of --uid

Signed-off-by: YiteGu <guyite@bytedance.com>
2 days agodoc/rgw: fix the description error of --max-read-ops
Yite Gu [Tue, 21 Oct 2025 04:36:43 +0000 (12:36 +0800)]
doc/rgw: fix the description error of --max-read-ops

max-read-ops indicates the number of operations, not bytes.

signed-off-by: Yite Gu <guyite@bytedance.com>

2 days agoMerge pull request #65408 from tchaikov/wip-suppress-asan-warnings
Kefu Chai [Tue, 21 Oct 2025 00:18:45 +0000 (08:18 +0800)]
Merge pull request #65408 from tchaikov/wip-suppress-asan-warnings

qa/{asan,lsan}.supp: suppress Python module and libstdc++ false positives

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 days agoMerge pull request #64768 from bluikko/doc-notifications-fixes-cephadm2
Anthony D'Atri [Mon, 20 Oct 2025 15:22:23 +0000 (11:22 -0400)]
Merge pull request #64768 from bluikko/doc-notifications-fixes-cephadm2

doc/radosgw: Small fixes and improvements in notifications.rst, part 2

3 days agoMerge pull request #65899 from Matan-B/wip-matanb-crimson-user-docs
Matan Breizman [Mon, 20 Oct 2025 07:25:30 +0000 (10:25 +0300)]
Merge pull request #65899 from Matan-B/wip-matanb-crimson-user-docs

doc: Introduce Crimson User Guide

Reviewed-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
3 days agoMerge pull request #64730 from benhanokh/dedup_throttle
Yuval Lifshitz [Sun, 19 Oct 2025 11:20:01 +0000 (14:20 +0300)]
Merge pull request #64730 from benhanokh/dedup_throttle

rgw/dedup: add throttling mechanism

4 days agoMerge pull request #65902 from yuvalif/wip-yuval-73434
Yuval Lifshitz [Sat, 18 Oct 2025 17:27:57 +0000 (20:27 +0300)]
Merge pull request #65902 from yuvalif/wip-yuval-73434

rgw/logging: fix race condition when name update returns ECANCELED

5 days agoMerge pull request #65585 from cbodley/wip-rgw-lc-bucket-already-run-today
Casey Bodley [Fri, 17 Oct 2025 16:23:53 +0000 (12:23 -0400)]
Merge pull request #65585 from cbodley/wip-rgw-lc-bucket-already-run-today

rgw/lc: enforce consistent rgw_lc_debug_interval start times

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
5 days agoMerge pull request #60815 from rhcs-dashboard/fix-69029-main
Adam King [Fri, 17 Oct 2025 16:08:52 +0000 (12:08 -0400)]
Merge pull request #60815 from rhcs-dashboard/fix-69029-main

mgr/cephadm: Use a persistent volume to store Loki DB

Reviewed-by: Adam King <adking@redhat.com>
5 days agoMerge pull request #65982 from bluikko/doc-config-ref-formatting-radosgw
bluikko [Fri, 17 Oct 2025 13:21:22 +0000 (20:21 +0700)]
Merge pull request #65982 from bluikko/doc-config-ref-formatting-radosgw

doc/radosgw: Small fixes in config-ref.rst

5 days agoMerge pull request #64959 from edwinzrodriguez/ceph-wip-72442
Casey Bodley [Fri, 17 Oct 2025 13:01:10 +0000 (09:01 -0400)]
Merge pull request #64959 from edwinzrodriguez/ceph-wip-72442

rgw: Update buffer size for HMAC signature

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 days agoMerge pull request #62787 from dang/wip-dang-getattrs
Casey Bodley [Fri, 17 Oct 2025 12:50:24 +0000 (08:50 -0400)]
Merge pull request #62787 from dang/wip-dang-getattrs

RGW - zipper - Remove target from get_obj_attrs()

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 days agocommon: use constexpr buffer size instead of fixed 256 for read_format in cputrace
Jaya Prakash [Fri, 17 Oct 2025 12:22:45 +0000 (12:22 +0000)]
common: use constexpr buffer size instead of fixed 256 for read_format in cputrace

Signed-off-by: Jaya Prakash <jayaprakash@ibm.com>
6 days agoMerge pull request #65926 from soumyakoduri/wip-skoduri-restore-tests
Soumya Koduri [Fri, 17 Oct 2025 08:13:35 +0000 (13:43 +0530)]
Merge pull request #65926 from soumyakoduri/wip-skoduri-restore-tests

rgw/restore: increase read_thorugh restore period

Reviewed-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
6 days agoMerge pull request #65980 from idryomov/wip-debug-cls-fixup
Ilya Dryomov [Fri, 17 Oct 2025 08:04:11 +0000 (10:04 +0200)]
Merge pull request #65980 from idryomov/wip-debug-cls-fixup

cls/hello: debug_cls -> debug_objclass in the comment

Reviewed-by: Neha Ojha <nojha@redhat.com>
6 days agodoc/radosgw: Small fixes in config-ref.rst
Ville Ojamo [Fri, 17 Oct 2025 06:35:00 +0000 (13:35 +0700)]
doc/radosgw: Small fixes in config-ref.rst

Use privileged prompt for CLI command.

Use title case consistently for section titles.

Fix a typo that caused RST syntax rendered as-is.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
6 days agoMerge pull request #65920 from nh2/docs-cephfs-inodes-on-replicated
Anthony D'Atri [Fri, 17 Oct 2025 00:40:41 +0000 (20:40 -0400)]
Merge pull request #65920 from nh2/docs-cephfs-inodes-on-replicated

doc/cephfs/createfs: Recommend default data pool on SSDs for non-EC

6 days agorgw: Update buffer size for HMAC signature and improve signature max size calculation
Edwin Rodriguez [Thu, 7 Aug 2025 16:00:01 +0000 (12:00 -0400)]
rgw: Update buffer size for HMAC signature and improve signature max size calculation

Move SIGNATURE_MAX_SIZE to public interface of AWSEngine::VersionAbstractor
Use SIGNATURE_MAX_SIZE to size buffer in get_v2_signature

Fixes: https://tracker.ceph.com/issues/72442
Signed-off-by: Edwin Rodriguez <edwin.rodriguez1@ibm.com>
6 days agocls/hello: debug_cls -> debug_objclass in the comment
Ilya Dryomov [Thu, 16 Oct 2025 20:43:51 +0000 (22:43 +0200)]
cls/hello: debug_cls -> debug_objclass in the comment

debug_cls option doesn't exist -- it's spelled debug_objclass.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
6 days agoMerge pull request #65970 from cbodley/wip-cmake-arrow-thrift-boost-jammy
Casey Bodley [Thu, 16 Oct 2025 15:00:13 +0000 (11:00 -0400)]
Merge pull request #65970 from cbodley/wip-cmake-arrow-thrift-boost-jammy

cmake: BuildArrow.cmake uses bundled thrift if system version < 0.17

Reviewed-by: Kefu Chai <k.chai@proxmox.com>
6 days agoMerge pull request #64762 from mkogan1/wip-ratelim-list-v001
Mark Kogan [Thu, 16 Oct 2025 14:30:45 +0000 (17:30 +0300)]
Merge pull request #64762 from mkogan1/wip-ratelim-list-v001

rgw: rate limit for LIST and DELETE ops

6 days agoMerge pull request #65168 from stackhpc/swap-tip-fix-wording
Anthony D'Atri [Thu, 16 Oct 2025 13:14:05 +0000 (09:14 -0400)]
Merge pull request #65168 from stackhpc/swap-tip-fix-wording

doc/start: fix wording in swap tip

6 days agoMerge pull request #65869 from tchaikov/wip-crimson-aligned-dma-write
Kefu Chai [Thu, 16 Oct 2025 12:37:03 +0000 (20:37 +0800)]
Merge pull request #65869 from tchaikov/wip-crimson-aligned-dma-write

crimson/seastore: use DMA alignment for block size instead of stat

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
6 days agomgr/dashboard: fix multisite wizard realm configuration mode
Aashish Sharma [Thu, 16 Oct 2025 09:34:54 +0000 (15:04 +0530)]
mgr/dashboard: fix multisite wizard realm configuration mode

The option to select an existing realm for replication is not coming up in the wizard even though a realm created and eligible for replication.

Fixes: https://tracker.ceph.com/issues/73563
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
6 days agoMerge pull request #65973 from rhcs-dashboard/inline-edit-validator-fix
Nizamudeen A [Thu, 16 Oct 2025 09:48:32 +0000 (15:18 +0530)]
Merge pull request #65973 from rhcs-dashboard/inline-edit-validator-fix

mgr/dashboard: fix generic form submit validator for inline edit

Reviewed-by: Naman Munet <nmunet@redhat.com>
6 days agoMerge pull request #65707 from a16bitsysop/crimson-gcc15
Matan Breizman [Thu, 16 Oct 2025 09:43:10 +0000 (12:43 +0300)]
Merge pull request #65707 from a16bitsysop/crimson-gcc15

crimson: admin: fix FTBFS with gcc 15

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
7 days agodoc: Introduce Crimson User Guide
Matan Breizman [Sun, 12 Oct 2025 12:29:10 +0000 (12:29 +0000)]
doc: Introduce Crimson User Guide

All of Crimson's documentation was included under `doc/dev`.
As we gradually lean towards a more user facing documentation such as
deployment, usage, Packaging and so on -- we should have a separated guide with
non dev related docs.

Developer docs would remain under dev/crimson/

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
7 days agomgr/dashboard: fix generic form submit validator for inline edit
Nizamudeen A [Thu, 16 Oct 2025 05:35:32 +0000 (11:05 +0530)]
mgr/dashboard: fix generic form submit validator for inline edit

currently the validation error is being applied generically to the
parent formgroup which will set the whole form into an error state when
one of the inline editing is failing on a validation. So just changing
that to a single control.

Fixes: https://tracker.ceph.com/issues/73558
Signed-off-by: Nizamudeen A <nia@redhat.com>
7 days agoMerge pull request #65954 from positiveEV/patch-2
Anthony D'Atri [Thu, 16 Oct 2025 00:21:10 +0000 (20:21 -0400)]
Merge pull request #65954 from positiveEV/patch-2

doc/rados/operations: remove duplicate word

7 days agocmake: BuildArrow.cmake uses bundled thrift if system version < 0.17 wip-cmake-arrow-thrift-boost-jammy
Casey Bodley [Wed, 15 Oct 2025 21:08:48 +0000 (17:08 -0400)]
cmake: BuildArrow.cmake uses bundled thrift if system version < 0.17

the bump to arrow 17.0.0 broke the ubuntu jammy builds with:

In file included from /usr/include/thrift/transport/TTransport.h:25,
                 from /usr/include/thrift/protocol/TProtocol.h:28,
                 from /usr/include/thrift/TBase.h:24,
                 from /build/ceph-20.3.0-3599-g3d863d32/src/arrow/cpp/src/generated/parquet_types.h:14,
                 from /build/ceph-20.3.0-3599-g3d863d32/src/arrow/cpp/src/generated/parquet_constants.h:10,
                 from /build/ceph-20.3.0-3599-g3d863d32/src/arrow/cpp/src/generated/parquet_constants.cpp:7:
/usr/include/thrift/transport/TTransportException.h:23:10: fatal error: boost/numeric/conversion/cast.hpp: No such file or directory
   23 | #include <boost/numeric/conversion/cast.hpp>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

when comparing the gcc command line with arrow-15.0.0, the following argument
is no longer present:
> -isystem /build/ceph-20.3.0-3402-gb2db4947/obj-x86_64-linux-gnu/boost/include

arrow 17.0.0 seems to assume that thrift doesn't depend on boost anymore. a
comment in https://github.com/apache/arrow/issues/32266 claims that
> we don't need Boost with system Thrift 0.17.0 or later

but our jammy builds are stuck with libthrift-0.16.0. to reenable jammy builds,
instruct Arrow's cmake to use its bundled thrift dependency if our system thrift
version is < 0.17.0

Signed-off-by: Casey Bodley <cbodley@redhat.com>
7 days agocmake: Findthrift.cmake parses version string
Casey Bodley [Wed, 15 Oct 2025 21:06:41 +0000 (17:06 -0400)]
cmake: Findthrift.cmake parses version string

when thrift headers are found, parse the version string into a
cmake variable and pass it to find_package_handle_standard_args

this will be needed by BuildArrow.cmake for some conditional logic

Signed-off-by: Casey Bodley <cbodley@redhat.com>
7 days agoMerge pull request #65774 from ljflores/wip-add-telemetry-pool-flag
Laura Flores [Wed, 15 Oct 2025 20:50:35 +0000 (15:50 -0500)]
Merge pull request #65774 from ljflores/wip-add-telemetry-pool-flag

mgr/telemetry: add 'ec_optimizations' flag to 'basic_pool_flags' collection

7 days agoMerge pull request #65955 from gbregman/main
Gil Bregman [Wed, 15 Oct 2025 20:48:31 +0000 (23:48 +0300)]
Merge pull request #65955 from gbregman/main

mgr/cephadm: Increase the default expiration time for NVMEoF subsyste…

7 days agoMerge pull request #65891 from kshtsk/wip-workunit-drop-pipes
kyr [Wed, 15 Oct 2025 18:20:46 +0000 (20:20 +0200)]
Merge pull request #65891 from kshtsk/wip-workunit-drop-pipes

qa/tasks/workunit: fix no module named 'pipes'

7 days agoMerge pull request #65967 from jmundack/doc-sort-csc-memer-list
Joseph Mundackal [Wed, 15 Oct 2025 16:17:23 +0000 (12:17 -0400)]
Merge pull request #65967 from jmundack/doc-sort-csc-memer-list

doc: Update governance.rst to have member names sorted

7 days agodoc: Update governance.rst to have member names sorted
Joseph Mundackal [Wed, 15 Oct 2025 16:00:44 +0000 (12:00 -0400)]
doc: Update governance.rst to have member names sorted

Originally this list was sorted by first name, overtime new members were added at the bottom. Resorting them again by first name

Signed-off-by: Joseph Mundackal <jmundackal@bloomberg.net>
7 days agoMerge pull request #64359 from mkogan1/wip-d3n-stripe-gt-chunk-py
Casey Bodley [Wed, 15 Oct 2025 15:23:08 +0000 (11:23 -0400)]
Merge pull request #64359 from mkogan1/wip-d3n-stripe-gt-chunk-py

rgw/qa/d3n: improve D3N test robustness

Reviewed-by: Adam Emerson <aemerson@redhat.com>
7 days agoMerge pull request #65367 from myoungwon/wip-nvmedevice-coroutine
Matan Breizman [Wed, 15 Oct 2025 14:45:53 +0000 (17:45 +0300)]
Merge pull request #65367 from myoungwon/wip-nvmedevice-coroutine

crimson/os/seastore/rbm: switch rbm to coroutine

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
7 days agoMerge pull request #65935 from tchaikov/wip-debian-libxsimd-dev
Kefu Chai [Wed, 15 Oct 2025 14:45:33 +0000 (22:45 +0800)]
Merge pull request #65935 from tchaikov/wip-debian-libxsimd-dev

debian/control: Add libxsimd-dev build dependency for vendored Arrow

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 days agoMerge pull request #65664 from cbodley/wip-73240
Casey Bodley [Wed, 15 Oct 2025 14:24:46 +0000 (10:24 -0400)]
Merge pull request #65664 from cbodley/wip-73240

rgw/lc: LCOpAction_CurrentExpiration checks mtime for delete markers

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
7 days agomgr/cephadm: Increase the default expiration time for NVMEoF subsystem cache
Gil Bregman [Wed, 15 Oct 2025 08:30:08 +0000 (11:30 +0300)]
mgr/cephadm: Increase the default expiration time for NVMEoF subsystem cache

Fixes: https://tracker.ceph.com/issues/73542
Signed-off-by: Gil Bregman <gbregman@il.ibm.com>
7 days agoMerge pull request #65529 from mkogan1/wip-d4n-reserve
Mark Kogan [Wed, 15 Oct 2025 10:20:47 +0000 (13:20 +0300)]
Merge pull request #65529 from mkogan1/wip-d4n-reserve

rgw/d4n: refactor unused conf rgw_d4n_l1_datacache_size

7 days agodoc/rados/operations: remove duplicate word
positiveEV [Wed, 15 Oct 2025 08:18:22 +0000 (10:18 +0200)]
doc/rados/operations: remove duplicate word

Signed-off-by: positiveEV <50848762+positiveEV@users.noreply.github.com>
8 days agoMerge pull request #65054 from BBoozmen/dequeue_op_latency_at_completion
SrinivasaBharathKanta [Wed, 15 Oct 2025 09:18:07 +0000 (14:48 +0530)]
Merge pull request #65054 from BBoozmen/dequeue_op_latency_at_completion

OSD: add latency data to DEQUEUE_OP_END event

8 days agoMerge pull request #64377 from ljflores/wip-tracker-70716
SrinivasaBharathKanta [Wed, 15 Oct 2025 09:16:22 +0000 (14:46 +0530)]
Merge pull request #64377 from ljflores/wip-tracker-70716

qa/tasks: Ignore expected `backfill_toofull` warning

8 days agoMerge pull request #65616 from xxhdx1985126/wip-73159
Matan Breizman [Wed, 15 Oct 2025 09:03:28 +0000 (12:03 +0300)]
Merge pull request #65616 from xxhdx1985126/wip-73159

crimson/osd/pg: create "submit_lock" unlocker before locking it

Reviewed-by: Samuel Just <sjust@redhat.com>
8 days agoMerge pull request #64756 from rzarzynski/wip-bug-67244
Radoslaw Zarzynski [Wed, 15 Oct 2025 08:54:05 +0000 (10:54 +0200)]
Merge pull request #64756 from rzarzynski/wip-bug-67244

monc: synchronize tick() of MonClient with shutdown()

Reviewed-by: Venky Shankar <vshankar@redhat.com>
8 days agoMerge pull request #65578 from Matan-B/wip-matanb-crimson-seastore-should_block
Matan Breizman [Wed, 15 Oct 2025 08:40:32 +0000 (11:40 +0300)]
Merge pull request #65578 from Matan-B/wip-matanb-crimson-seastore-should_block

crimson/os/seastore/epm: Verify available segments on mkfs/mount

Reviewed-by: Samuel Just <sjust@redhat.com>
8 days agodebian/control: Add libxsimd-dev build dependency for vendored Arrow wip-pr-65935-6-kefu
Kefu Chai [Wed, 15 Oct 2025 07:46:26 +0000 (15:46 +0800)]
debian/control: Add libxsimd-dev build dependency for vendored Arrow

In commit e8460cbd, we introduced the "pkg.ceph.arrow" build profile to
support building with system Arrow packages. However, neither Debian nor
Ubuntu currently ships Arrow packages.

Since WITH_RADOSGW_SELECT_PARQUET is always enabled in debian/rules,
Arrow support is required for all builds. When the pkg.ceph.arrow profile
is not selected, the build uses vendored Arrow. With the recent change to
use AUTO mode for xsimd detection, Arrow will attempt to find system xsimd
>= 9.0.1. Adding libxsimd-dev as a build dependency ensures it's available
for Arrow to detect and use, reducing build time on supported distributions.

On distributions with insufficient xsimd versions (< 9.0.1), Arrow will
automatically fall back to its bundled version.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
8 days agocmake/BuildArrow: Use AUTO mode for xsimd dependency detection
Kefu Chai [Wed, 15 Oct 2025 07:46:22 +0000 (15:46 +0800)]
cmake/BuildArrow: Use AUTO mode for xsimd dependency detection

Arrow requires xsimd >= 9.0.1 according to arrow/cpp/thirdparty/versions.txt.
Previously, we unconditionally set -Dxsimd_SOURCE=BUNDLED, forcing the use
of Arrow's vendored xsimd regardless of system package availability.

This commit changes to -Dxsimd_SOURCE=AUTO, which allows Arrow's
resolve_dependency mechanism to automatically:
1. Try to find system xsimd package
2. Check if version >= 9.0.1
3. Use system version if found and sufficient
4. Fall back to bundled version otherwise

This reduces build time and dependencies on systems with sufficient xsimd,
while maintaining compatibility with older distributions.

Distribution availability:
- Ubuntu Noble (24.04): libxsimd-dev 12.1.1 (✓ will use system)
- Ubuntu Jammy (22.04): libxsimd-dev 7.6.0 (✗ will use bundled)
- Debian Trixie (13): libxsimd-dev 13.2.0 (✓ will use system)
- CentOS Stream 9: xsimd-devel 7.4.9 (✗ will use bundled)

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
8 days agoMerge pull request #65236 from leonidc/delete_all_gws
leonidc [Wed, 15 Oct 2025 06:26:19 +0000 (09:26 +0300)]
Merge pull request #65236 from leonidc/delete_all_gws

nvmeofgw: fix issue of delete all gws from the pool/group

8 days agoMerge pull request #64176 from tchaikov/wip-pybind-cb-types
Kefu Chai [Wed, 15 Oct 2025 03:13:49 +0000 (11:13 +0800)]
Merge pull request #64176 from tchaikov/wip-pybind-cb-types

pybind: fix callback function type compatibility for GCC 14/15

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Nitzan Mordhai <nmordech@ibm.com>