]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
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 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 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 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>
3 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>
3 months agopybind: switch from pkgutil.find_loader() to importlib.util.find_spec() 62879/head
Kefu Chai [Fri, 18 Apr 2025 09:24:58 +0000 (17:24 +0800)]
pybind: switch from pkgutil.find_loader() to importlib.util.find_spec()

Replace pkgutil.find_loader() with importlib.util.find_spec() throughout
Python bindings. This addresses the deprecation warning in Python 3.10
(scheduled for removal in 3.14) that appeared when generating librbd
Python bindings.

The importlib.util.find_spec() API has been available since Python 3.4
and is compatible with our minimum required Python version (3.9, since
commit 51f71fc1).

The warning resolved:
```
/home/kefu/dev/ceph/src/pybind/rbd/setup.py:8: DeprecationWarning: 'pkgutil.find_loader' is deprecated and slated for removal in Python 3.14; use importlib.util.find_spec() instead
  if not pkgutil.find_loader('setuptools'):
```

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 months agoMerge pull request #62736 from adamemerson/wip-unbreak-d4n
Casey Bodley [Fri, 18 Apr 2025 20:23:21 +0000 (16:23 -0400)]
Merge pull request #62736 from adamemerson/wip-unbreak-d4n

rgw: Unbreak D4N

Reviewed-by: Pritha Srivastava <prsrivas@redhat.com>
Reviewed-by: Samarah Uriarte <samarah.uriarte@ibm.com>
3 months agoMerge pull request #62850 from ivancich/wip-shard-report-crash
J. Eric Ivancich [Fri, 18 Apr 2025 18:14:31 +0000 (14:14 -0400)]
Merge pull request #62850 from ivancich/wip-shard-report-crash

rgw: prevent crash in `radosgw-admin bucket object shard ...`

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Jesse Williamson <jfw@ibm.com>
3 months agoMerge pull request #62871 from cbodley/wip-doc-rgw-user-admin-system
Casey Bodley [Fri, 18 Apr 2025 17:34:00 +0000 (13:34 -0400)]
Merge pull request #62871 from cbodley/wip-doc-rgw-user-admin-system

doc/rgw: document Admin and System Users

Reviewed-by: Seena Fallah <seenafallah@gmail.com>
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
3 months agoMerge pull request #61486 from cbodley/wip-qa-rgw-s3tests-logging
Casey Bodley [Fri, 18 Apr 2025 16:57:54 +0000 (12:57 -0400)]
Merge pull request #61486 from cbodley/wip-qa-rgw-s3tests-logging

qa/rgw: run-s3tests.sh disables bucket_logging tests

Reviewed-by: Yuval Lifshitz <ylifshit@ibm.com>
3 months agoMerge pull request #62497 from bill-scales/ec_rollback_changes
Laura Flores [Fri, 18 Apr 2025 15:43:15 +0000 (10:43 -0500)]
Merge pull request #62497 from bill-scales/ec_rollback_changes

osd: EC optimizations: changes to rollback to support partial writes

3 months agoMerge pull request #57740 from bill-scales/wip-bscales-align-write-buffers-v2
Laura Flores [Fri, 18 Apr 2025 15:41:13 +0000 (10:41 -0500)]
Merge pull request #57740 from bill-scales/wip-bscales-align-write-buffers-v2

os/transaction: page align write data buffers to improve performance - version 2

3 months agodoc/rgw: document Admin and System Users 62871/head
Casey Bodley [Thu, 17 Apr 2025 21:52:27 +0000 (17:52 -0400)]
doc/rgw: document Admin and System Users

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 months agorgw: prevent crash in `radosgw-admin bucket object shard ...` 62850/head
J. Eric Ivancich [Wed, 16 Apr 2025 16:38:33 +0000 (12:38 -0400)]
rgw: prevent crash in `radosgw-admin bucket object shard ...`

This subcommand is used to ask radosgw-admin which bucket index shard
a given object in a given bucket would have its bucket index entry
on. The user is required to supply the number of shards (i.e., the
command doesn't look that up). If 0 is provided it would result in a
divide by zero runtime exception. Values less than or equal to zero
are now protected.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
3 months agoMerge pull request #62803 from ShwetaBhosale1/fix_issue_70870_update_log_message_for_...
Adam King [Fri, 18 Apr 2025 13:00:33 +0000 (09:00 -0400)]
Merge pull request #62803 from ShwetaBhosale1/fix_issue_70870_update_log_message_for_enabling_logrotate.timer

cephadm: Updated log message for enabling logrotate.timer service while bootstrap

Reviewed-by: Adam King <adking@redhat.com>
3 months agoMerge pull request #61800 from MaxKellermann/blk_includes
Max Kellermann [Fri, 18 Apr 2025 08:48:08 +0000 (10:48 +0200)]
Merge pull request #61800 from MaxKellermann/blk_includes

blk: add missing includes

Reviewed-by: Igor Fedotov <igor.fedotov@croit.io>
3 months agoMerge pull request #62849 from VinayBhaskar-V/WIP-instancereplayer-crash
Ilya Dryomov [Fri, 18 Apr 2025 08:37:56 +0000 (10:37 +0200)]
Merge pull request #62849 from VinayBhaskar-V/WIP-instancereplayer-crash

rbd-mirror: release lock before calling m_async_op_tracker.finish_op()

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
3 months agomgr/dashboard: Fix virtual IP:port in NFS list 62861/head
Ankush Behl [Thu, 17 Apr 2025 12:58:43 +0000 (18:28 +0530)]
mgr/dashboard: Fix virtual IP:port in NFS list

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

Signed-off-by: Ankush Behl <cloudbehl@gmail.com>
3 months agodoc/rgw: Admin Capabilities section links to Admin Ops API
Casey Bodley [Thu, 17 Apr 2025 21:51:46 +0000 (17:51 -0400)]
doc/rgw: Admin Capabilities section links to Admin Ops API

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 months agoMerge pull request #62819 from pritha-srivastava/wip-rgw-iam-oidc-caps
Casey Bodley [Thu, 17 Apr 2025 16:54:21 +0000 (12:54 -0400)]
Merge pull request #62819 from pritha-srivastava/wip-rgw-iam-oidc-caps

rgw/iam: correcting the caps for OIDC Provider for a user.

Reviewed-by: Casey Bodley <cbodley@redhat.com>
3 months agodoc: reef 18.2.6 release notes 62853/head
Yuri Weinstein [Wed, 16 Apr 2025 21:10:01 +0000 (14:10 -0700)]
doc: reef 18.2.6 release notes

Fixes https://tracker.ceph.com/issues/70938
Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
3 months agoMerge pull request #62300 from rishabh-d-dave/mgr-vol-link-docs
Rishabh Dave [Thu, 17 Apr 2025 16:19:55 +0000 (21:49 +0530)]
Merge pull request #62300 from rishabh-d-dave/mgr-vol-link-docs

doc/cephfs: link section for pausing async threads in section for...

Reviewed-by: Zac Dover <zac.dover@gmail.com>
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 months agoMerge pull request #62766 from adamemerson/wip-70864
Casey Bodley [Thu, 17 Apr 2025 16:03:31 +0000 (12:03 -0400)]
Merge pull request #62766 from adamemerson/wip-70864

rgw: Don't print spurious error on `radosgw-admin` exit

Reviewed-by: Shilpa Jagannath <smanjara@redhat.com>
3 months agoMerge pull request #62793 from BBoozmen/wip-oozmen-70270
Casey Bodley [Thu, 17 Apr 2025 16:00:27 +0000 (12:00 -0400)]
Merge pull request #62793 from BBoozmen/wip-oozmen-70270

rgw: metadata and data sync notification to retry upon any failure case

Reviewed-by: Casey Bodley <cbodley@redhat.com>
3 months agoMerge pull request #62828 from ifed01/wip-ifed-fix-70802
Igor Fedotov [Thu, 17 Apr 2025 15:05:02 +0000 (18:05 +0300)]
Merge pull request #62828 from ifed01/wip-ifed-fix-70802

os/bluestore: eliminate build warning

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Reviewed-by: Adam Kupczyk<akupczyk@ibm.com>
3 months agoMerge pull request #62859 from bluikko/doc-fixes-radosgw
Anthony D'Atri [Thu, 17 Apr 2025 15:02:29 +0000 (11:02 -0400)]
Merge pull request #62859 from bluikko/doc-fixes-radosgw

doc/radosgw: Fix formatting, cosmetic issues, typos

3 months agodoc/radosgw: Fix formatting, cosmetic issues, typos 62859/head
Ville Ojamo [Thu, 17 Apr 2025 04:05:30 +0000 (11:05 +0700)]
doc/radosgw: Fix formatting, cosmetic issues, typos

Fix stray example command block leftover from rebase in
cloud-transition.rst.
Remove extra character > in cloud-sync-module.rst.
Add missing formatting char ` in cloud-sync-module.rst.
Remove extra empty line between example commands that
resulted in a line with just a "#" prompt.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
3 months agorbd-mirror: release lock before calling m_async_op_tracker.finish_op() 62849/head
VinayBhaskar-V [Wed, 16 Apr 2025 15:52:21 +0000 (21:22 +0530)]
rbd-mirror: release lock before calling m_async_op_tracker.finish_op()

m_async_op_tracker.finish_op() in InstanceReplayer::start_image_replayers
may invoke a completion that re-enters code paths that attempt to acquire
the same mutex (m_lock), violating the non-recursive lock constraint.
This can be fixed by releasing the lock before calling
m_async_op_tracker.finish_op().

Fixes: https://tracker.ceph.com/issues/70951
Signed-off-by: VinayBhaskar-V <vvarada@redhat.com>
3 months agoMerge pull request #61936 from xxhdx1985126/wip-seastore-omap-tree-pointer
Yingxin Cheng [Thu, 17 Apr 2025 07:05:06 +0000 (15:05 +0800)]
Merge pull request #61936 from xxhdx1985126/wip-seastore-omap-tree-pointer

crimson/os/seastore/omap_manager: apply linked tree nodes to omap trees

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 months agoMerge pull request #62769 from ronen-fr/wip-rf-delayready
Ronen Friedman [Thu, 17 Apr 2025 05:03:01 +0000 (08:03 +0300)]
Merge pull request #62769 from ronen-fr/wip-rf-delayready

osd/scrub: discard delay_ready_t

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
3 months agoMerge pull request #62858 from bluikko/doc-fix-radosgw
Anthony D'Atri [Thu, 17 Apr 2025 03:46:28 +0000 (23:46 -0400)]
Merge pull request #62858 from bluikko/doc-fix-radosgw

doc/radosgw: Remove extra literal blocks in cloud-transition.rst

3 months agodoc/radosgw: Remove extra literal blocks in cloud-transition.rst 62858/head
Ville Ojamo [Thu, 17 Apr 2025 03:35:32 +0000 (10:35 +0700)]
doc/radosgw: Remove extra literal blocks in cloud-transition.rst

Fix double-colon literal blocks before blocks with
prompts, missed in rebase.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
3 months agoMerge pull request #62763 from bluikko/doc-prompts-radosgw
Zac Dover [Thu, 17 Apr 2025 02:55:27 +0000 (12:55 +1000)]
Merge pull request #62763 from bluikko/doc-prompts-radosgw

doc/radosgw: Promptify CLI, cosmetic fixes

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
3 months agoMerge pull request #62754 from cbodley/wip-64895
Casey Bodley [Wed, 16 Apr 2025 19:45:32 +0000 (15:45 -0400)]
Merge pull request #62754 from cbodley/wip-64895

common: CephContext::_refresh_perf_values() checks for null _mempool_perf

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agoMerge pull request #62775 from bluikko/doc-releases-codeblocks
Anthony D'Atri [Wed, 16 Apr 2025 13:59:21 +0000 (09:59 -0400)]
Merge pull request #62775 from bluikko/doc-releases-codeblocks

doc/releases: Fix invalid triple backticks in reef.rst squid.rst

3 months agoMerge pull request #62818 from ronen-fr/wip-rf-iocnt-plus
Ronen Friedman [Wed, 16 Apr 2025 12:44:20 +0000 (15:44 +0300)]
Merge pull request #62818 from ronen-fr/wip-rf-iocnt-plus

osd/scrub: performance counters: count I/Os, use unlabeled counters

Reviewed-by: Alex Ainscow <aainscow@uk.ibm.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Bill Scales <bill_scales@uk.ibm.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
3 months agodoc/radosgw: Promptify CLI, cosmetic fixes 62763/head
Ville Ojamo [Thu, 10 Apr 2025 10:34:57 +0000 (17:34 +0700)]
doc/radosgw: Promptify CLI, cosmetic fixes

Use the more modern prompt block for CLI commands
and use right one $ vs #.
Fix indentation on JSON example outputs and
some CLI command switches.
Add some arguably missing comma in JSON example output.
Add a full stop at the end of a one-sentence paragraph.
Remove extra comma mid-sentence in another.
Fix missing backslashes or typo at end of multiline commands.
Lines under section headings as long as heading text.
Fix hyperlinks. Fix list items prefixed with - insted of *.
Format configuration syntax in the middle of text as code.
Fix typo "PI" to "API" and remove extra space.
Remove colons at the end of section headers in a few places.
Use Title Case in section titles consistently with short words lowercase.
Possibly controversial: don't add whitespace before and
after main title section header text.
Possibly controversial: don't indent line continuation
backslashes, leave only 1 space before them.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
3 months agoblk/kernel: add missing includes 61800/head
Max Kellermann [Tue, 5 Nov 2024 11:49:31 +0000 (12:49 +0100)]
blk/kernel: add missing includes

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
3 months agoextblkdev/vdo: add missing includes
Max Kellermann [Fri, 25 Oct 2024 09:08:58 +0000 (11:08 +0200)]
extblkdev/vdo: add missing includes

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
3 months agocrimson/os/seastore/logical_child_node: drop unnecessary 61936/head
Xuehan Xu [Thu, 3 Apr 2025 06:31:42 +0000 (14:31 +0800)]
crimson/os/seastore/logical_child_node: drop unnecessary
"has_parent_tracker()" check

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 months agocrimson/os/seastore/logical_child_node: rename child_node_t to
Xuehan Xu [Sun, 30 Mar 2025 08:23:10 +0000 (16:23 +0800)]
crimson/os/seastore/logical_child_node: rename child_node_t to
lba_child_node_t

To be distinguished with omap nodes' child_node_t

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 months agocrimson/os/seastore/linked_tree_node: move "account_absent_access()" out
Xuehan Xu [Thu, 6 Mar 2025 08:29:54 +0000 (16:29 +0800)]
crimson/os/seastore/linked_tree_node: move "account_absent_access()" out
of ExtentTransViewRetriever

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 months agocrimson/os/seastore/onode: increase the default inline snapset size to
Xuehan Xu [Mon, 24 Feb 2025 02:07:06 +0000 (10:07 +0800)]
crimson/os/seastore/onode: increase the default inline snapset size to
35

So that snapsets for un-snapshoted objects can be store inline with the
onode.

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 months agocrimson/os/seastore/omap_manager: apply linked_tree_node to omap trees
Xuehan Xu [Fri, 14 Feb 2025 07:48:01 +0000 (15:48 +0800)]
crimson/os/seastore/omap_manager: apply linked_tree_node to omap trees

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
3 months agoMerge pull request #62795 from laimis9133/main
Zac Dover [Tue, 15 Apr 2025 19:52:49 +0000 (05:52 +1000)]
Merge pull request #62795 from laimis9133/main

doc/radosgw/cloud-transition: use reStructuredText for code

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
3 months agoMerge pull request #62798 from zdover23/wip-doc-2025-04-14-squid-upgrade-warning
Zac Dover [Tue, 15 Apr 2025 19:32:04 +0000 (05:32 +1000)]
Merge pull request #62798 from zdover23/wip-doc-2025-04-14-squid-upgrade-warning

doc/releases: Direct users to upgrade to 19.2.2

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
3 months agoMerge pull request #62792 from prik73/70719-fix-user-form-login-typo
afreen23 [Tue, 15 Apr 2025 18:54:58 +0000 (00:24 +0530)]
Merge pull request #62792 from prik73/70719-fix-user-form-login-typo

mgr/dashboard: fix typo in User Management form (logon → login)

Reviewed-by: Afreen Misbah <afreen@ibm.com>
3 months agoMerge pull request #62812 from Matan-B/wip-matanb-crimson-only-backfill-stuck
Matan Breizman [Tue, 15 Apr 2025 15:24:42 +0000 (18:24 +0300)]
Merge pull request #62812 from Matan-B/wip-matanb-crimson-only-backfill-stuck

crimson/osd: fix do_recovery returned boolean

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Xuehan Xu <xuxuehan@qianxin.com>
Reviewed-by: Mohit Agrawal <moagrawa@redhat.com>
3 months agoos/bluestore: eliminate build warning 62828/head
Igor Fedotov [Tue, 15 Apr 2025 13:47:49 +0000 (16:47 +0300)]
os/bluestore: eliminate build warning

Fixes: https://tracker.ceph.com/issues/70802
Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
3 months agoMerge pull request #62744 from rhcs-dashboard/accounts-e2e
Nizamudeen A [Tue, 15 Apr 2025 13:42:41 +0000 (19:12 +0530)]
Merge pull request #62744 from rhcs-dashboard/accounts-e2e

mgr/dashboard: rgw accounts UI e2e tests

3 months agomgr/dashboard: refactor about.component.ts 62794/head
Afreen Misbah [Sat, 12 Apr 2025 00:23:56 +0000 (05:53 +0530)]
mgr/dashboard: refactor about.component.ts

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

- add i18n
- cleanup unused variable
- use constants

Signed-off-by: Afreen Misbah <afreen@ibm.com>
3 months agoosd/scrub: fixing scrub reservation process counters 62818/head
Ronen Friedman [Mon, 14 Apr 2025 16:22:27 +0000 (11:22 -0500)]
osd/scrub: fixing scrub reservation process counters

Using regular (unlabeled) OSD performance counters for
tracking the scrub reservation performance.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
3 months agoosd/scrub: turning additional counters into unlabeled
Ronen Friedman [Mon, 14 Apr 2025 09:47:24 +0000 (04:47 -0500)]
osd/scrub: turning additional counters into unlabeled

i.e. - moving counters from the 'scrbcnt_' enums into
the ScrubCounterSet object.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
3 months agoosd/scrub: a single counters selection mechanism - step 1
Ronen Friedman [Sun, 13 Apr 2025 17:53:12 +0000 (12:53 -0500)]
osd/scrub: a single counters selection mechanism - step 1

Following the preceeding PR, the Scrubber now employs
two methods for selecting the specific subset of performance
counters to update (the replicated pool set or the EC one).
The first method is using labeled counters, with 4 optional labels
(Primary/Replica X Replicated/EC Pool). The second method
is by naming the specific OSD counters to use in ScrubIoCounterSet
objects, then selecting the appropriate set based on the pool type.

This commit is the first step on the path to unifying the two
methods - discarding the use of labeled counters, and only
naming OSD counters.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
3 months agoosd/scrub: perf-counters for I/O performed by the scrubber
Ronen Friedman [Thu, 3 Apr 2025 07:55:23 +0000 (02:55 -0500)]
osd/scrub: perf-counters for I/O performed by the scrubber

Define two sets of performance counters to track I/O performed
by the scrubber - one set to be used when scrubbing a PG
in a replicated pool, and one - for EC PGs.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
3 months agorgw/iam: correcting the caps for OIDC Provider for a user. 62819/head
Pritha Srivastava [Tue, 15 Apr 2025 09:43:18 +0000 (15:13 +0530)]
rgw/iam: correcting the caps for OIDC Provider for a user.

Fixes: https://tracker.ceph.com/issues/70926
Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
3 months agocrimson/osd: fix stuck recovery 62812/head
Matan Breizman [Tue, 15 Apr 2025 07:35:31 +0000 (07:35 +0000)]
crimson/osd: fix stuck recovery

https://github.com/ceph/ceph/pull/62080 tested version was **different**
from the one that got merged.
The untested change was changing the boolean returned from start_recovery_ops.
While the seastar::repeat loop in BackgroundRecoveryT<T>::start() was changed accordingly,
other do_recovery() return cases were not considered.

See Tested / Merged here: https://github.com/Matan-B/ceph/pull/2/files

start_recovery_ops used by do_recovery should return whether the iteration (i.e recovery) keep going.

_Note: This has caused a regression in our suite_

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
3 months agoMerge pull request #61992 from dparmar18/ib61357
Venky Shankar [Tue, 15 Apr 2025 09:26:34 +0000 (14:56 +0530)]
Merge pull request #61992 from dparmar18/ib61357

qa: add parallelized cleanup step in _rebuild_metadata()

Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 months agoMerge PR #62259 into main
Venky Shankar [Tue, 15 Apr 2025 09:25:21 +0000 (14:55 +0530)]
Merge PR #62259 into main

* refs/pull/62259/head:
qa/tasks/cephfs/mount: introduce _default_gateway method
qa/tasks/cephfs/mount: use 'ip r' instead 'route'

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 months agoMerge PR #62553 into main
Venky Shankar [Tue, 15 Apr 2025 09:23:39 +0000 (14:53 +0530)]
Merge PR #62553 into main

* refs/pull/62553/head:
mds: fix issues with use-after-free in C_Flush_Journal
mds: fix issues with use-after-free in C_Flush_Journal

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 months agoMerge pull request #62764 from rhcs-dashboard/bucket-ratelimit-fix
Pedro Gonzalez Gomez [Tue, 15 Apr 2025 09:19:51 +0000 (11:19 +0200)]
Merge pull request #62764 from rhcs-dashboard/bucket-ratelimit-fix

mgr/dashboard: bucket ratelimit API failing while changing owner with ratelimit config

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
3 months agoMerge pull request #59533 from ifed01/wip-ifed-no-async-compact-in-splillover-tests
Igor Fedotov [Tue, 15 Apr 2025 08:53:25 +0000 (11:53 +0300)]
Merge pull request #59533 from ifed01/wip-ifed-no-async-compact-in-splillover-tests

test/store_test: enforce sync compaction for spillover test cases.

Reviewed-by: Md Mahamudur Rahaman Sajib mahamudur.sajib@croit.io
3 months agoMerge pull request #62807 from ceph/wip-yuriw-release.pocess-main
Yuri Weinstein [Mon, 14 Apr 2025 23:42:39 +0000 (16:42 -0700)]
Merge pull request #62807 from ceph/wip-yuriw-release.pocess-main

doc: changed refs from quincy to squid

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
3 months agoMerge pull request #61786 from Hezko/ns-create-size-fix
Hezko [Mon, 14 Apr 2025 22:19:29 +0000 (01:19 +0300)]
Merge pull request #61786 from Hezko/ns-create-size-fix

mgr/dashboard: Ns create size fix

3 months agodoc/releases: Direct users to upgrade to 19.2.2 62798/head
Zac Dover [Sun, 13 Apr 2025 23:49:16 +0000 (09:49 +1000)]
doc/releases: Direct users to upgrade to 19.2.2

Direct users to upgrade only to Squid v19.2.2, and warn readers not to
upgrade to Squid 19.2.1. This PR is raised in response to a request from
Neha Ojha.

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
3 months agoMerge pull request #62799 from anthonyeleven/fix-formatting
Zac Dover [Mon, 14 Apr 2025 21:44:46 +0000 (07:44 +1000)]
Merge pull request #62799 from anthonyeleven/fix-formatting

doc/cephadm/services: Fix formatting in osd.rst

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Zac Dover <zac.dover@proton.me>
3 months agoMerge pull request #61610 from rzarzynski/wip-test-bl-lastp-on
Radoslaw Zarzynski [Mon, 14 Apr 2025 20:03:25 +0000 (22:03 +0200)]
Merge pull request #61610 from rzarzynski/wip-test-bl-lastp-on

test/bufferlist: turn the old last_p fix verification on

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
3 months agoMerge pull request #56922 from ifed01/wip-ifed-store-test-no-sleeps
Igor Fedotov [Mon, 14 Apr 2025 18:06:45 +0000 (21:06 +0300)]
Merge pull request #56922 from ifed01/wip-ifed-store-test-no-sleeps

test/store_test: get rid off sleep() call wherever possible

Reviewed-by: Pere Diaz Bou <pere-altea@hotmail.com>
3 months agorgw: metadata and data sync fairness notifications to retry upon any error case 62793/head
Oguzhan Ozmen [Fri, 11 Apr 2025 21:45:19 +0000 (21:45 +0000)]
rgw: metadata and data sync fairness notifications to retry upon any error case

This is a complementary fix to the earlier one described at #62156.
When the sync shard notification fails due to any failures including timeout,
this change keeps the loop going for both metadata and data sync.

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

Signed-off-by: Oguzhan Ozmen <oozmen@bloomberg.net>
3 months agoMerge pull request #62804 from Matan-B/wip-matanb-rgw-spec.in
Casey Bodley [Mon, 14 Apr 2025 15:56:31 +0000 (11:56 -0400)]
Merge pull request #62804 from Matan-B/wip-matanb-rgw-spec.in

ceph.spec.in: package man/rgw-gap-list

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agoMerge PR #62783 into main
Venky Shankar [Mon, 14 Apr 2025 15:49:08 +0000 (21:19 +0530)]
Merge PR #62783 into main

* refs/pull/62783/head:
libcephfs_proxy: fully initialize async I/O structure

Reviewed-by: Sachin Prabhu <sp@spui.uk>
Reviewed-by: Shwetha Acharya <sacharya@redhat.com>
3 months agomgr/cephadm: do not delete smb fs cephx keys 62788/head
John Mulligan [Fri, 11 Apr 2025 17:02:15 +0000 (13:02 -0400)]
mgr/cephadm: do not delete smb fs cephx keys

This change effectively disables fencing for the smb service because
the previous attempt to implement fencing would destroy the only
cephx key. Deleting this key would prevent any smb service part of
the logical cluster from talking to cephfs, even ones that were not
to be fenced.

The whole concept of fencing and ranks needs a bit of a rethink in
regards to smb. For now, we're just going to rely on ctdb and not
cephadm for smb's HA.

Fixes: 60300360cc500091e9dadf929d00bb72afad033c
Signed-off-by: John Mulligan <jmulligan@redhat.com>
3 months agodoc: changed refs from quincy to squid 62807/head
Yuri Weinstein [Mon, 14 Apr 2025 14:41:13 +0000 (07:41 -0700)]
doc: changed refs from quincy to squid

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
3 months agoMerge pull request #62692 from ronen-fr/wip-rf-watch-ratiob
Ronen Friedman [Mon, 14 Apr 2025 13:24:45 +0000 (16:24 +0300)]
Merge pull request #62692 from ronen-fr/wip-rf-watch-ratiob

osd/scrub: additional configuration parameters to trigger scrub reschedule

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agoosd/scrub: discard delay_ready_t 62769/head
Ronen Friedman [Mon, 7 Apr 2025 09:45:58 +0000 (04:45 -0500)]
osd/scrub: discard delay_ready_t

The 'delay_ready_t' parameter was used in the past to
control whether, when a change in the scrub scheduling inputs
occurs (e.g. a configuration change), even those scheduling targets
that are already ripe for scrubbing will have their schedule recomputed.

This parameter, however, is ignored: all "regular-periodic"
scrubbing targets are always rescheduled when the scheduling inputs
change.
The commit removes the 'delay_ready_t' parameter from the codebase.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>