]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
2 months agoMerge pull request #60227 from clwluvw/zonegroup-delbucket
Casey Bodley [Wed, 23 Apr 2025 18:02:16 +0000 (14:02 -0400)]
Merge pull request #60227 from clwluvw/zonegroup-delbucket

rgw: skip empty check on non-owned buckets by zonegroup

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 months agoMerge pull request #62738 from clwluvw/copy-obj-remote-zonegroup
Casey Bodley [Wed, 23 Apr 2025 18:00:56 +0000 (14:00 -0400)]
Merge pull request #62738 from clwluvw/copy-obj-remote-zonegroup

rgw: dont store replication attrs on remote copy obj

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 months agoMerge pull request #62699 from Matan-B/wip-matanb-crimson-ignore-abort-v2
Matan Breizman [Wed, 23 Apr 2025 15:35:28 +0000 (18:35 +0300)]
Merge pull request #62699 from Matan-B/wip-matanb-crimson-ignore-abort-v2

crimson/common/errorator: rework aborts error handlers

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 months agoMerge pull request #62556 from aainscow/ec_pr_and_prereqs
Radoslaw Zarzynski [Wed, 23 Apr 2025 15:19:31 +0000 (17:19 +0200)]
Merge pull request #62556 from aainscow/ec_pr_and_prereqs

osd: Optimised EC

Reviewed-by: Radoslaw Zarzynski <rzarzynski@redhat.com>
Reviewed-by: Laura Flores <lflores@redhat.com>
2 months agoMerge pull request #62710 from bill-scales/ec_backfill
Laura Flores [Wed, 23 Apr 2025 15:06:56 +0000 (10:06 -0500)]
Merge pull request #62710 from bill-scales/ec_backfill

osd: EC Optimizations: Backfill changes for partial writes

2 months agoMerge pull request #62725 from VallariAg/nvmeof-teuthology-fio
Vallari Agrawal [Wed, 23 Apr 2025 13:17:12 +0000 (18:47 +0530)]
Merge pull request #62725 from VallariAg/nvmeof-teuthology-fio

qa/suites/nvmeof: Fix thrasher and fio script

2 months agoMerge pull request #60731 from joscollin/wip-B68954-check-headers-journal-recovery
Rishabh Dave [Wed, 23 Apr 2025 12:15:54 +0000 (17:45 +0530)]
Merge pull request #60731 from joscollin/wip-B68954-check-headers-journal-recovery

cephfs-journal-tool: check the headers in dump file after journal recovery

Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
Reviewed-by: Rishabh Dave <ridave@redhat.com>
2 months agoMerge pull request #62914 from baum/ms_dispatch2_clean_up
baum [Wed, 23 Apr 2025 10:36:16 +0000 (13:36 +0300)]
Merge pull request #62914 from baum/ms_dispatch2_clean_up

src/nvmeof/NVMeofGwMonitorClient.cc: ms_dispatch2 clean up

2 months agoMerge pull request #62696 from anthonyeleven/mgr-prom
Zac Dover [Wed, 23 Apr 2025 09:27:00 +0000 (19:27 +1000)]
Merge pull request #62696 from anthonyeleven/mgr-prom

doc/mgr: Improve prometheus.rst

Reviewed-by: Zac Dover <zac.dover@proton.me>
2 months agoMerge PR #62577 into main
Venky Shankar [Wed, 23 Apr 2025 09:16:03 +0000 (14:46 +0530)]
Merge PR #62577 into main

* refs/pull/62577/head:
libcephfs_proxy: avoid libc buffering for logging

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Anoop C S <anoopcs@cryptolab.net>
2 months agoMerge branch 'main' into mgr-prom 62696/head
Zac Dover [Wed, 23 Apr 2025 09:15:19 +0000 (19:15 +1000)]
Merge branch 'main' into mgr-prom

Signed-off-by: Zac Dover <zac.dover@proton.me>
2 months agoqa: test 'journal import' recognizes invalid headers post journal recovery 60731/head
Jos Collin [Tue, 11 Feb 2025 10:45:51 +0000 (16:15 +0530)]
qa: test 'journal import' recognizes invalid headers post journal recovery

Fixes: https://tracker.ceph.com/issues/68954
Signed-off-by: Jos Collin <jcollin@redhat.com>
2 months agocephfs-journal-tool: check the headers in dump file after journal recovery
Jos Collin [Thu, 14 Nov 2024 05:12:18 +0000 (10:42 +0530)]
cephfs-journal-tool: check the headers in dump file after journal recovery

Fixes: https://tracker.ceph.com/issues/68954
Signed-off-by: Jos Collin <jcollin@redhat.com>
2 months agodoc/mgr: Improve prometheus.rst
Anthony D'Atri [Mon, 7 Apr 2025 03:03:53 +0000 (23:03 -0400)]
doc/mgr: Improve prometheus.rst

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
2 months agoMerge pull request #62911 from bluikko/doc-cleanup-radosgw
Anthony D'Atri [Wed, 23 Apr 2025 03:25:27 +0000 (23:25 -0400)]
Merge pull request #62911 from bluikko/doc-cleanup-radosgw

doc/radosgw: Fix indentation in admin.rst

2 months agoMerge pull request #62896 from zdover23/wip-doc-2025-04-21-revert-62782-c4f0f8e
Zac Dover [Tue, 22 Apr 2025 23:31:21 +0000 (09:31 +1000)]
Merge pull request #62896 from zdover23/wip-doc-2025-04-21-revert-62782-c4f0f8e

doc: Revert "doc/mgr: Promptify CLI commands and other formatting fixes"

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 months agoMerge pull request #62416 from kamoltat/wip-ksirivad-fix-connection-score
Laura Flores [Tue, 22 Apr 2025 21:05:44 +0000 (16:05 -0500)]
Merge pull request #62416 from kamoltat/wip-ksirivad-fix-connection-score

2 months agoMerge pull request #61212 from rishabh-d-dave/mgr-vol-count-clones
Rishabh Dave [Tue, 22 Apr 2025 15:51:52 +0000 (21:21 +0530)]
Merge pull request #61212 from rishabh-d-dave/mgr-vol-count-clones

mgr/vol: count number of ongoing clones in CloneProgressReporter...

Reviewed-by: Milind Changire <mchangir@redhat.com>
2 months agoMerge pull request #62870 from MaxKellermann/mds_includes
Max Kellermann [Tue, 22 Apr 2025 15:28:37 +0000 (17:28 +0200)]
Merge pull request #62870 from MaxKellermann/mds_includes

mds: include cleanup

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
2 months agocrimson: remove any assert_failure pre assert usages 62699/head
Matan Breizman [Mon, 21 Apr 2025 14:11:58 +0000 (14:11 +0000)]
crimson: remove any assert_failure pre assert usages

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 months agocrimosn/common/errorator: cleanup assert_failure pre_assert
Matan Breizman [Mon, 21 Apr 2025 14:11:52 +0000 (14:11 +0000)]
crimosn/common/errorator: cleanup assert_failure pre_assert

Any usage should be replaced with a message that supports priniting the
error.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 months agocrimson/common/errorator: assert_failure to print error
Matan Breizman [Mon, 21 Apr 2025 14:11:47 +0000 (14:11 +0000)]
crimson/common/errorator: assert_failure to print error

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 months agocrimson/osd: Verbose assert_all aborts
Matan Breizman [Mon, 21 Apr 2025 14:13:46 +0000 (14:13 +0000)]
crimson/osd: Verbose assert_all aborts

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 months agocrimson/common/errorator: allow assert_all to accept c_str()
Matan Breizman [Mon, 21 Apr 2025 14:13:41 +0000 (14:13 +0000)]
crimson/common/errorator: allow assert_all to accept c_str()

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 months agocrimson/common/errorator: Cleanup assert_all pre_assert
Matan Breizman [Mon, 21 Apr 2025 14:13:38 +0000 (14:13 +0000)]
crimson/common/errorator: Cleanup assert_all pre_assert

Not used

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 months agocrimson/common/errorator: cleanup ErrorT::handler call
Matan Breizman [Mon, 21 Apr 2025 14:13:34 +0000 (14:13 +0000)]
crimson/common/errorator: cleanup ErrorT::handler call

call error_t::handle without decalring handler and invoking it later on

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 months agocrimson/ertr: assert_all informs about error being handled that way
Matan Breizman [Mon, 21 Apr 2025 14:13:31 +0000 (14:13 +0000)]
crimson/ertr: assert_all informs about error being handled that way

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2 months agotest/crimson/test_errorator: ignore assert_all
Matan Breizman [Mon, 7 Apr 2025 09:50:35 +0000 (09:50 +0000)]
test/crimson/test_errorator: ignore assert_all

This came up during: https://tracker.ceph.com/issues/69406#note-25
Where an "assert_all" was called but didn't cause an abort.
Added "ignore_assert_all" to showcase this scenario along with any
other case where we are expected to abort.
The tests could be used to verify errorator's aborting behavior.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 months agocrimson/common/errorator: print abort message when possible
Matan Breizman [Thu, 10 Apr 2025 15:50:01 +0000 (15:50 +0000)]
crimson/common/errorator: print abort message when possible

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 months agocrimson/common/errorator: Always check exception type
Matan Breizman [Thu, 10 Apr 2025 14:23:50 +0000 (14:23 +0000)]
crimson/common/errorator: Always check exception type

We shouldn't bypass this check in the is_same_v<return_t, no_touch_error_marker>
case.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 months agocrimson/common/errorator: add TODO
Matan Breizman [Thu, 10 Apr 2025 13:12:36 +0000 (13:12 +0000)]
crimson/common/errorator: add TODO

There are few TODOs around errorator code which might be worth looking
into: https://tracker.ceph.com/issues/70875

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 months agocrimson/common/errorator: introduce take_exception_from_future
Matan Breizman [Thu, 10 Apr 2025 10:07:08 +0000 (10:07 +0000)]
crimson/common/errorator: introduce take_exception_from_future

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 months agocrimson/common/errorator: move exception_comment
Matan Breizman [Thu, 10 Apr 2025 09:48:38 +0000 (09:48 +0000)]
crimson/common/errorator: move exception_comment

move the comment to where __cxa_exception_type is used
to keep handle() comments shorter.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 months agocrimson/common/errorator: fix skipped aborts
Xuehan Xu [Tue, 8 Apr 2025 12:50:47 +0000 (20:50 +0800)]
crimson/common/errorator: fix skipped aborts

We should also invoke the errfunc (which aborts) when the
return type is no_touch_error_marker.
Added comments explaining:
* why it's forbidden to return void
* why std::is_same_v<return_t, no_touch_error_marker> is checked

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 months agoMerge pull request #62708 from rishabh-d-dave/vols-snap-path
Rishabh Dave [Tue, 22 Apr 2025 15:06:34 +0000 (20:36 +0530)]
Merge pull request #62708 from rishabh-d-dave/vols-snap-path

mgr/vol: add command to get snapshot path

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2 months agoMerge pull request #62837 from athanatos/sjust/wip-crimson-stuck-backfilling
Samuel Just [Tue, 22 Apr 2025 15:02:59 +0000 (08:02 -0700)]
Merge pull request #62837 from athanatos/sjust/wip-crimson-stuck-backfilling

crimson: fix several bugs causing stuck backfills

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
2 months agoMerge pull request #62619 from athanatos/sjust/wip-replica-read-crimson-mosdpct
Samuel Just [Tue, 22 Apr 2025 14:59:41 +0000 (07:59 -0700)]
Merge pull request #62619 from athanatos/sjust/wip-replica-read-crimson-mosdpct

crimson: add MOSDPGPCT support

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
2 months agosrc/nvmeof/NVMeofGwMonitorClient.cc: ms_dispatch2 clean up 62914/head
Alexander Indenbaum [Tue, 22 Apr 2025 10:20:02 +0000 (13:20 +0300)]
src/nvmeof/NVMeofGwMonitorClient.cc: ms_dispatch2 clean up

- return ACKNOWLEDGED/HANDLED
- remove registration for unwanted keys

Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
2 months agoMerge pull request #62899 from tchaikov/cmake-build-boost
Kefu Chai [Tue, 22 Apr 2025 13:27:46 +0000 (21:27 +0800)]
Merge pull request #62899 from tchaikov/cmake-build-boost

cmake: Fix b2 build with postfixed compiler versions

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
2 months agodoc/radosgw: Fix indentation in admin.rst 62911/head
Ville Ojamo [Tue, 22 Apr 2025 12:09:23 +0000 (19:09 +0700)]
doc/radosgw: Fix indentation in admin.rst

Indent the CLI command continuation lines correctly to start at the same
position as the other such commands, add one space on 2 lines.
Introduced in #62877.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
2 months agoMerge pull request #61997 from Naveenaidu/wip-naveen-telemetry-show-labeled-perf...
Ronen Friedman [Tue, 22 Apr 2025 11:56:21 +0000 (14:56 +0300)]
Merge pull request #61997 from Naveenaidu/wip-naveen-telemetry-show-labeled-perf-counters

telemetry: include labeled perf counters in report

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
Reviewed-by: Yaarit Hatuka <yaarithatuka@gmail.com>
Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2 months agoMerge pull request #62712 from leonidc/heuristic-redeploy-fix
leonidc [Tue, 22 Apr 2025 10:27:27 +0000 (13:27 +0300)]
Merge pull request #62712 from leonidc/heuristic-redeploy-fix

nvmeofgw: fix host issue during redeploy, improves previous redeploy fix

2 months agoMerge PR #62578 into main
Venky Shankar [Tue, 22 Apr 2025 10:14:11 +0000 (15:44 +0530)]
Merge PR #62578 into main

* refs/pull/62578/head:
mds: fix dump stray command

Reviewed-by: Laura Flores <lflores@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
2 months agoMerge PR #62674 into main
Venky Shankar [Tue, 22 Apr 2025 10:13:19 +0000 (15:43 +0530)]
Merge PR #62674 into main

* refs/pull/62674/head:
mon: Fix cast warning

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
2 months agoMerge pull request #62877 from bluikko/doc-formatting-radosgw
Zac Dover [Tue, 22 Apr 2025 09:47:09 +0000 (19:47 +1000)]
Merge pull request #62877 from bluikko/doc-formatting-radosgw

doc/radosgw: Improve and more consistent formatting

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 months agodoc: Revert "doc/mgr: Promptify CLI commands and other formatting fixes" 62896/head
Zac Dover [Mon, 21 Apr 2025 09:33:01 +0000 (19:33 +1000)]
doc: Revert "doc/mgr: Promptify CLI commands and other formatting fixes"

This reverts commit c4f0f8edad46c852961a622795d14b735f660d94.

Signed-off-by: Zac Dover <zac.dover@proton.me>
2 months agoMerge pull request #62869 from afreen23/wip-nvme
afreen23 [Tue, 22 Apr 2025 07:46:39 +0000 (13:16 +0530)]
Merge pull request #62869 from afreen23/wip-nvme

mgr/dashboard: Fix pool update on edit

Reviewed-by: Nizamudeen A <nia@redhat.com>
2 months agoosd: Introduce optimized EC 62556/head
Alex Ainscow [Thu, 3 Apr 2025 13:47:28 +0000 (14:47 +0100)]
osd: Introduce optimized EC

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 months agoosd: Install stub extent cache in OSD. 62555/head
Alex Ainscow [Mon, 7 Apr 2025 08:20:44 +0000 (09:20 +0100)]
osd: Install stub extent cache in OSD.

The extent cache in new EC is a per OSD-shard cache will caches
reads used by read-modify-write to improve performance of sequential
IO. We want to provide a single PR with all of EC in it, so this
PR provides a non-functional stub to allow all the non-EC code to
be installed.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 months agoosd: New options for configuring new EC
Alex Ainscow [Thu, 27 Mar 2025 15:37:57 +0000 (15:37 +0000)]
osd: New options for configuring new EC

Adding three new configuration options which will apply once new EC
is in place:

osd_pool_default_flag_ec_optimizations

This allows EC optimizations to be turned on by default.

ec_extent_cache_size

This allows the user to specify the size of the per-shard extent cache if
they feel that the default 10MiB is too large or too small.

The default value may well change following more extensive testing.

ec_pd_write_mode

This is a development flag for testing the parity delta write RMW mechanism
within the EC code.  Setting to anything other than 0 will cause performance
problems.  It is provided as a test mechanism for performance and
teuthology.  Performance may wish too turn off all PDW writes for a particular
IO pattern. This will allow us to determine if the automatic mode should be
using conventional RMW writes.  The force-on mode allows testing on more
unusual scenarios and on smaller configurations.

Finally, we tweak the way optimisations are enabled, so as to be common between
enabling and default-enabled.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 months agoosd: Add interface for new EC to determine the acting recovery backfill shard id...
Alex Ainscow [Thu, 27 Mar 2025 14:57:27 +0000 (14:57 +0000)]
osd: Add interface for new EC to determine the acting recovery backfill shard id set.

This is used to optimise the set of shards that will be written to by
EC writes.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 months agocrimson/osd: Add scrub stubs for crimson and classic, ready for new EC
Alex Ainscow [Thu, 27 Mar 2025 14:38:44 +0000 (14:38 +0000)]
crimson/osd: Add scrub stubs for crimson and classic, ready for new EC

The new optimised EC code is not backward compatible withold  EC Code.
Before this commit there is some stub code which assumes that an hinfo
xattr will exist and can be used for scrub. This is no longer the case in new EC.

We plan to first make the scrubbing changes for new EC in classic and will
subsequently port to crimson. It will not look like the code here, so there is
little point in keeping it.

Additionally, add some stubs for scrub in classic optimized EC.

There will be a later PR specifically for dealing with scrubbing in
new EC which fix all the fix mes in class,

The crimson code will be fixed up at a later date and will only
support optimised EC.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 months agotest: Add mempool (but don't use it yet)
Alex Ainscow [Thu, 27 Mar 2025 13:52:05 +0000 (13:52 +0000)]
test: Add mempool (but don't use it yet)

Optimised has an extent cache which consumes memory resources. As such, we create a new mempool to track these.  This is not yet used.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 months agoosd: Fix some signing and typo issues in debug output
Alex Ainscow [Thu, 27 Mar 2025 13:11:02 +0000 (13:11 +0000)]
osd: Fix some signing and typo issues in debug output

Some dout messages contained unsigned shard ids.  These should be signed, so that invalid shard ids show as -1, rather than max int.

Also a very basic typo.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 months agocommon: Generalise to_interval_set to allow more interval_set implementations.
Alex Ainscow [Fri, 28 Mar 2025 13:46:30 +0000 (13:46 +0000)]
common: Generalise to_interval_set to allow more interval_set implementations.

This generalises to_interval_set so that the interval set does not need to share a
common internal map structure with interval_map. The implementation is achieved
through iteration, so there is no requirement for the old restriction.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 months agocommon: bitset_set
Alex Ainscow [Thu, 27 Mar 2025 11:44:29 +0000 (11:44 +0000)]
common: bitset_set

This bitset_set change relaxes policing of bitset_set, so that
out-of-range can be queried in the contains interface. This means
that callers cam simplifiy calls.  For example:

 if (key == invalid) || !set.contains(key)) {
  do_stuff
 }

 becomes

  if (!set.contains(key)) {
   do_stuff
  }

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 months agoosd: EC Optimizations: proc_master_log changes for partial logs 62523/head
Bill Scales [Wed, 26 Mar 2025 13:43:43 +0000 (13:43 +0000)]
osd: EC Optimizations: proc_master_log changes for partial logs

proc_master_log is part of the peering process that merges
the authorative log (in the case of EC pools the log of the
shard missing the most updates) into the primary log.

When there are partial writes it is likely that the
authorative log is behind because of partial writes that
did not update that shard. proc_master_log works out where
the logs diverge and then studies each additional log entry
to see if all the updates made in that log entry have been
applied. If any shard is missing an update then that log
entry (and all subsequent entries) need to be rolled back,
otherwise the entry can be rolled forward and included in
the authorative log.

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
2 months agoosd: EC Optimizations: Peer changes for partial logs
Bill Scales [Wed, 26 Mar 2025 13:25:07 +0000 (13:25 +0000)]
osd: EC Optimizations: Peer changes for partial logs

Changes to peering for replica/strays to handle partial
logs. For EC optimized pools shards may not have a complete
log if there have been partial writes that did not update
the shard. If the most recent entries in the log have all
skipped updating a shard then it will have a log that ends
earlier than other shards. During peering the primary which
has a full copy of the log works out whether other shards
have any missing objects and then communicates this to
the replica/stray shards during activation.

The primary uses the partial write last complete data in
pg_info_t to explain to other shards if they are missing
log entries and just need to update last_update and
last_complete.

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
2 months agoosd: EC Optimizations: Get missing changes for partial logs
Bill Scales [Wed, 26 Mar 2025 13:15:45 +0000 (13:15 +0000)]
osd: EC Optimizations: Get missing changes for partial logs

Changes to the get missing step of peering to handle partial
writes. Having established the authorative log the primary
works out what shards are missing objects. With partial
writes this code needs to differentiate between a shard that
missed an update (and hence has a missing object) versus a
shard that was not updated by a partial write. The divergent
log entries are examined to see if the updates were partial
writes that did not involve the shard.

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
2 months agoosd: EC Optimizations: PG log changes for partial logs
Bill Scales [Wed, 26 Mar 2025 13:04:46 +0000 (13:04 +0000)]
osd: EC Optimizations: PG log changes for partial logs

Optimized EC pools will not add a log entry for shards that
are not modified by a partial write. This means the shard
will have a partial copy of the log.

There are several asserts in PGLog that assume that the log
is contiguous, these need to be relaxed when it is an optimized
EC pool (other pools retain the full strength asserts).

During peering the primary may provide a complete log to a
non-primary shard to merge into its log. This merge can skip
log entries for partial writes that do not update the shard.

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
2 months agoosd: EC optimizations: Get log twice when auth_log_shard is a non-primary
Bill Scales [Wed, 26 Mar 2025 12:40:13 +0000 (12:40 +0000)]
osd: EC optimizations: Get log twice when auth_log_shard is a non-primary

When an event such as splitting the PG occurs the new primary does
not have any log at the start of peering. Non-primary shards in an
EC optimized pool may not have a complete log of writes due to
partial writes. If the choosen authorative shard is a non-primary
shard then the new primary needs to first get a full copy of the
log (which extends past the authorative shard log) from another
shard and then repeat the get log step to get the authorative
shard's log so it can be merged rewinding divergent entries.

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
2 months agoosd: EC Optimizations: Partial write changes to add_next_event
Bill Scales [Thu, 6 Mar 2025 09:47:17 +0000 (09:47 +0000)]
osd: EC Optimizations: Partial write changes to add_next_event

add_next_event is used during peering to process log entries
that a shard is missing to build up a list of missing objects.
With EC optimized pools and partial writes not every update
modifies every shard. The log entry contains details of which
shards were modified and this can be used to work out whether
a missing entry needs to be created/updated.

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
2 months agoosd: EC Optimizations: Relax reset_complete_to for partial writes 62522/head
Bill Scales [Wed, 26 Mar 2025 10:46:07 +0000 (10:46 +0000)]
osd: EC Optimizations: Relax reset_complete_to for partial writes

EC Optimized pools can have shards missing log entries because
of partial writes. This means it is possible to have a missing
entry with a newer version than the log. Relax an assert in
reset_complete_to to avoid this.

reset_complete_to also resets last_complete to 0 when the
oldest missing object is before the first log entry. This
is to aggressive for partial writes and needs to be relaxed.

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
2 months agoosd: EC Optimizations: Add shard_id_sets for backfill_target and ...
Bill Scales [Wed, 26 Mar 2025 10:05:07 +0000 (10:05 +0000)]
osd: EC Optimizations: Add shard_id_sets for backfill_target and ...
acting_recovery_backfill

Optimized EC code uses shard_id_sets as a convinient and fast way of
representing sets of shards. Peering calculates a backfill_target set
and an active_recovery_backfill set as a map of pg_shard_ids during
peering and these are then used while processing I/O requests.

Modify peering so that it initializes a shard_id_set version of
these two sets and makes these available to ECBackend code.

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
2 months agoosd: EC Optimizations: Update pwlc for split/merge
Bill Scales [Wed, 26 Mar 2025 08:55:44 +0000 (08:55 +0000)]
osd: EC Optimizations: Update pwlc for split/merge

Update pwlc data in pg_info_t when splitting and
merging PGs.

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
2 months agoosd: EC Optimizations: Share pwlc between peers
Bill Scales [Wed, 26 Mar 2025 08:30:32 +0000 (08:30 +0000)]
osd: EC Optimizations: Share pwlc between peers

Optimized EC pools add partial_writes_last_complete (pwlc) data to
pg_info_t to track shards that were not updated because of partial
writes. During peering the primary collects the info structure from
all the replica/strays and then having reconciled the log can send
the info back to peers. Different shards may have newer/older
versions of pwlc, the primary merges these together to create
the definitive copy and then redistributes this to the other shards.

The primary also adjusts the last_update and last_complete values
in the info structure received from peers using the pwlc data to
advance these where shards were not updated because of a partial
write.

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
2 months agoosd: EC Optimizations: Update pwlc in pg_info_t
Bill Scales [Tue, 25 Mar 2025 17:41:57 +0000 (17:41 +0000)]
osd: EC Optimizations: Update pwlc in pg_info_t

Optimized EC pools add extra data to the log entry to track
which shards were updated by a partial write. When the log
entry is completed this needs to be summarized in the
partial_writes_last_complete map in pg_info_t.

Summarising this data in pg_info_t makes it easy to determine
whether the reason a shard is behind is because it is missing
update or has just not been involved in recent updates. This
also ensures that even if there is a long sequence of
updates that all skip updating a shard that a record of this
is retained in the info structure even after the log
has been trimmed.

Edited by aainscow as suggested in comment here:
https://github.com/ceph/ceph/pull/62522/files#r2050803678

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 months agoMerge pull request #62900 from ceph/revert-61786-ns-create-size-fix
Hezko [Tue, 22 Apr 2025 03:39:26 +0000 (06:39 +0300)]
Merge pull request #62900 from ceph/revert-61786-ns-create-size-fix

Revert "mgr/dashboard: Ns create size fix"

2 months agocmake: Fix b2 build with postfixed compiler versions 62899/head
Kefu Chai [Mon, 21 Apr 2025 11:42:58 +0000 (19:42 +0800)]
cmake: Fix b2 build with postfixed compiler versions

Previously, the build process used `bootstrap.sh` to build the b2 tool,
which automatically selected the compiler based on the specified toolset.
This failed when the compiler executable had a version postfix (e.g.,
/usr/bin/clang++-19) without a symlink at the expected name, producing
errors like:

```
A C++11 capable compiler is required for building the B2 engine.
Toolset 'clang' does not appear to support C++11.

> clang++ -x c++ -std=c++11 -pthread  check_clib.cpp check_cxx11.cpp
./tools/build/src/engine/build.sh: 120: clang++: not found
> clang++ -x c++ -std=c++11  check_clib.cpp check_cxx11.cpp
./tools/build/src/engine/build.sh: 120: clang++: not found

** Note, the C++11 capable compiler is _only_ required for building the B2
** engine. The B2 build system allows for using any C++ level and any other
** supported language and resource in your projects.

You can specify the toolset as the argument, i.e.:
    ./build.sh [options] gcc
```

The issue occurred because `bootstrap.sh` hardcodes the compiler name
based on the toolset (e.g., `clang++` for Clang) without supporting
postfixed versions.

This commit replaces the `bootstrap.sh` approach with an explicit build
command using Boost's `build.sh` script. We now:
1. Directly specify the full compiler path from CMake variables
2. Manually configure the build with `--cxx=...` and `--toolset=...`
3. Avoid reliance on symlinks or `bootstrap.sh`'s internal detection

This ensures the B2 engine is always built with the user-specified
compiler, even when installed with version postfixes.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 months agoMerge pull request #62728 from adk3798/cephadm-core-status-update-no-cinfo
Adam King [Mon, 21 Apr 2025 20:03:26 +0000 (16:03 -0400)]
Merge pull request #62728 from adk3798/cephadm-core-status-update-no-cinfo

cephadm: still set keep_container_info key in CoreStatusUpdater when cinfo is None

Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 months agoMerge pull request #62660 from Kushal-deb/reset-config-for-grafana
Adam King [Mon, 21 Apr 2025 18:35:54 +0000 (14:35 -0400)]
Merge pull request #62660 from Kushal-deb/reset-config-for-grafana

cephadm: Add pre_remove logic to clean up configs for grafana

Reviewed-by: Adam King <adking@redhat.com>
2 months agoMerge pull request #61487 from adk3798/cephadm-rgw-exit-timeout-secs
Adam King [Mon, 21 Apr 2025 18:30:32 +0000 (14:30 -0400)]
Merge pull request #61487 from adk3798/cephadm-rgw-exit-timeout-secs

mgr/cephadm: allow setting up RGW delaying shutdown to complete client connections

Reviewed-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
2 months agoMerge pull request #62652 from shraddhaag/wip-shraddhaag-fix-pg-degraded-warning
Adam King [Mon, 21 Apr 2025 18:16:41 +0000 (14:16 -0400)]
Merge pull request #62652 from shraddhaag/wip-shraddhaag-fix-pg-degraded-warning

qa/suites/orch/cephadm: add PG_DEGRADED to ignorelist

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2 months agoMerge pull request #62681 from ShwetaBhosale1/fix_issue_70800_moving_last_host_having...
Adam King [Mon, 21 Apr 2025 18:14:30 +0000 (14:14 -0400)]
Merge pull request #62681 from ShwetaBhosale1/fix_issue_70800_moving_last_host_having_nvmeof_to_maintainance_mode_should_not_be_allowed

mgr/cephadm: Give warning for moving last nvmeof host to maintainane mode

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Kushal Deb <Kushal.Deb@ibm.com>
2 months agoRevert "mgr/dashboard: Ns create size fix" 62900/head
Hezko [Mon, 21 Apr 2025 14:09:20 +0000 (17:09 +0300)]
Revert "mgr/dashboard: Ns create size fix"

Signed-off-by: Tomer Haskalovitch <il033030@Tomers-MBP.lan>
2 months agoqa/suites/nvmeof: add OSD warnings in ignorelist 62725/head
Vallari Agrawal [Mon, 14 Apr 2025 08:04:54 +0000 (13:34 +0530)]
qa/suites/nvmeof: add OSD warnings in ignorelist

And these to ignorelist:
- OSD_DOWN
- OSD_HOST_DOWN
- OSD_ROOT_DOWN
- PG_DEGRADED

These warnings come up in "cephadm" task during OSD
setup and are unrelated to nvmeof testing.

Fixes: https://tracker.ceph.com/issues/70906
Signed-off-by: Vallari Agrawal <vallari.agrawal@ibm.com>
2 months agoosd/pg_features: advertise PG_FEATURE_PCT for crimson 62619/head
Samuel Just [Fri, 28 Mar 2025 01:53:56 +0000 (18:53 -0700)]
osd/pg_features: advertise PG_FEATURE_PCT for crimson

Signed-off-by: Samuel Just <sjust@redhat.com>
2 months agocrimson: wire up crimson pct timer and message
Samuel Just [Wed, 1 May 2024 22:36:24 +0000 (22:36 +0000)]
crimson: wire up crimson pct timer and message

Signed-off-by: Samuel Just <sjust@redhat.com>
2 months agocrimson/osd/pg: call PGBackend::on_actingset_changed in PG::stop
Samuel Just [Fri, 28 Mar 2025 01:50:10 +0000 (18:50 -0700)]
crimson/osd/pg: call PGBackend::on_actingset_changed in PG::stop

Signed-off-by: Samuel Just <sjust@redhat.com>
2 months agocrimson: remove unused OperationThrottler::with_throttle 62837/head
Samuel Just [Tue, 15 Apr 2025 22:56:09 +0000 (15:56 -0700)]
crimson: remove unused OperationThrottler::with_throttle

It's now unused, and these combinator style wrappers are easy to
misuse and hard to read compared with RAII and coroutines.

Signed-off-by: Samuel Just <sjust@redhat.com>
2 months agocrimson: use make_interruptible, coroutine, and RAII releaser for recover_object_with...
Samuel Just [Tue, 15 Apr 2025 22:50:57 +0000 (15:50 -0700)]
crimson: use make_interruptible, coroutine, and RAII releaser for recover_object_with_throttle

791772f1c used with_throttle here in a way which caused
then_interruptible in PGRecovery::recover_object to be called outside of
an interruptible context.

Instead of using a wrapper taking a lambda, rephrase as an RAII releaser
suitable for use in a coroutine.  This avoids needing to structure
with_throttle to deal correctly with both interruptible and
non-interruptible contexts.

Fixes: https://tracker.ceph.com/issues/70939
Signed-off-by: Samuel Just <sjust@redhat.com>
2 months agocrimson: update PGRecovery::recover_object_with_throttle to use logging macros
Samuel Just [Tue, 15 Apr 2025 22:18:13 +0000 (15:18 -0700)]
crimson: update PGRecovery::recover_object_with_throttle to use logging macros

Signed-off-by: Samuel Just <sjust@redhat.com>
2 months agocrimson/.../osd_operation: remove max_in_progress shortcut in with_throttle
Samuel Just [Tue, 15 Apr 2025 22:01:43 +0000 (15:01 -0700)]
crimson/.../osd_operation: remove max_in_progress shortcut in with_throttle

This made sense prior to the addition of the scheduler.  Now, we need
to go through the scheduler whether there's a max or not.

Signed-off-by: Samuel Just <sjust@redhat.com>
2 months agocrimson/osd/osd_operation: remove unused with_throttle[_while] variants
Samuel Just [Tue, 15 Apr 2025 21:57:49 +0000 (14:57 -0700)]
crimson/osd/osd_operation: remove unused with_throttle[_while] variants

Signed-off-by: Samuel Just <sjust@redhat.com>
2 months agocrimson/osd/recovery_backend: correctly handle missing object in scan_for_backfill
Samuel Just [Tue, 15 Apr 2025 19:57:35 +0000 (12:57 -0700)]
crimson/osd/recovery_backend: correctly handle missing object in scan_for_backfill

load_and_lock can return enoent if object is missing.

Fixes: https://tracker.ceph.com/issues/70936
Signed-off-by: Samuel Just <sjust@redhat.com>
2 months agocrimson/osd/recovery_backend: do not resolve_clone in scan_for_backfill
Samuel Just [Tue, 15 Apr 2025 19:46:21 +0000 (12:46 -0700)]
crimson/osd/recovery_backend: do not resolve_clone in scan_for_backfill

We're looking for the exact hobject_t specified.

Fixes: https://tracker.ceph.com/issues/70935
Signed-off-by: Samuel Just <sjust@redhat.com>
2 months agoMerge pull request #62861 from cloudbehl/nfs-ip-port-fix
afreen23 [Mon, 21 Apr 2025 16:01:43 +0000 (21:31 +0530)]
Merge pull request #62861 from cloudbehl/nfs-ip-port-fix

mgr/dashboard: Fix virtual IP:port in NFS list

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
2 months agoMerge pull request #62733 from adk3798/cephadm-rm-cluster-zap-devices-fix
Adam King [Mon, 21 Apr 2025 14:57:31 +0000 (10:57 -0400)]
Merge pull request #62733 from adk3798/cephadm-rm-cluster-zap-devices-fix

cephadm: check "ceph_device_lvm" field instead of "ceph_device" during zap

Reviewed-by: Guillaume Abrioux <gabrioux@ibm.com>
Reviewed-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
2 months agoMerge pull request #62853 from ceph/wip-yuriw-18.2.6-release.notes-main
Yuri Weinstein [Mon, 21 Apr 2025 14:00:38 +0000 (07:00 -0700)]
Merge pull request #62853 from ceph/wip-yuriw-18.2.6-release.notes-main

doc: reef 18.2.6 release notes

Reviewed-by: Laura Flores <lflores@redhat.com>
Reviewed-by: Adam King adking@redhat.com
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 months agoMerge pull request #62788 from phlogistonjohn/jjm-defence
Adam King [Mon, 21 Apr 2025 12:49:53 +0000 (08:49 -0400)]
Merge pull request #62788 from phlogistonjohn/jjm-defence

mgr/cephadm: do not delete smb fs cephx keys

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
2 months agoadd qa/suites/nvmeof/thrash/gateway-initiator-setup/16-subsys-4-namespace.yaml
Vallari Agrawal [Wed, 9 Apr 2025 14:34:45 +0000 (20:04 +0530)]
add qa/suites/nvmeof/thrash/gateway-initiator-setup/16-subsys-4-namespace.yaml

Signed-off-by: Vallari Agrawal <vallari.agrawal@ibm.com>
2 months agoqa/suites/nvmeof/thrash: Run fio for 20mins
Vallari Agrawal [Mon, 3 Mar 2025 07:38:22 +0000 (13:08 +0530)]
qa/suites/nvmeof/thrash: Run fio for 20mins

Instead of 30mins.

Signed-off-by: Vallari Agrawal <vallari.agrawal@ibm.com>
2 months agoqa/tasks/nvmeof.py: set default daemon_max_thrash_times to 4
Vallari Agrawal [Thu, 27 Mar 2025 10:04:36 +0000 (15:34 +0530)]
qa/tasks/nvmeof.py: set default daemon_max_thrash_times to 4

Signed-off-by: Vallari Agrawal <vallari.agrawal@ibm.com>
2 months agoqa/tasks/nvmeof.py: force restart nvmeof daemons
Vallari Agrawal [Wed, 26 Mar 2025 15:10:05 +0000 (20:40 +0530)]
qa/tasks/nvmeof.py: force restart nvmeof daemons

We need to add "--force" to "ceph orch daemon restart"
command after merge of PR https://github.com/ceph/ceph/pull/61925

Signed-off-by: Vallari Agrawal <vallari.agrawal@ibm.com>
2 months agoqa/workunits/nvmeof/fio_test.sh: improve fio command
Vallari Agrawal [Wed, 26 Mar 2025 14:33:19 +0000 (20:03 +0530)]
qa/workunits/nvmeof/fio_test.sh: improve fio command

Signed-off-by: Vallari Agrawal <vallari.agrawal@ibm.com>
2 months agoqa/workunit/nvmeof/fio: log when fio fails
Vallari Agrawal [Mon, 3 Mar 2025 12:07:27 +0000 (17:37 +0530)]
qa/workunit/nvmeof/fio: log when fio fails

Log using "[nvmeof.fio]" when fio fails.
This helps to grep "[nvmeof." to see all
test events.

Signed-off-by: Vallari Agrawal <vallari.agrawal@ibm.com>
2 months agoqa/workunits/nvmeof/fio_test: add "nvme list-subsys"
Vallari Agrawal [Thu, 27 Feb 2025 07:28:24 +0000 (12:58 +0530)]
qa/workunits/nvmeof/fio_test: add "nvme list-subsys"

This would help us to see connected devices
and subsystems.

Signed-off-by: Vallari Agrawal <vallari.agrawal@ibm.com>
2 months agoMerge pull request #62782 from bluikko/doc-prompts-mgr
Zac Dover [Mon, 21 Apr 2025 09:24:12 +0000 (19:24 +1000)]
Merge pull request #62782 from bluikko/doc-prompts-mgr

doc/mgr: Promptify CLI commands and other formatting fixes

Reviewed-by: Zac Dover <zac.dover@proton.me>
2 months agoMerge pull request #62794 from afreen23/main
afreen23 [Mon, 21 Apr 2025 08:42:01 +0000 (14:12 +0530)]
Merge pull request #62794 from afreen23/main

mgr/dashboard: refactor about.component.ts

Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
2 months agoMerge pull request #62879 from tchaikov/pkgutil.find_loader
Ilya Dryomov [Sun, 20 Apr 2025 19:58:10 +0000 (21:58 +0200)]
Merge pull request #62879 from tchaikov/pkgutil.find_loader

pybind: switch from pkgutil.find_loader() to importlib.util.find_spec()

Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>