]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/log
ceph.git
3 weeks agomgr/dashboard: carbonize-osd-flags-modal 66776/head
Sagar Gopale [Fri, 2 Jan 2026 05:47:53 +0000 (11:17 +0530)]
mgr/dashboard: carbonize-osd-flags-modal

Fixes: https://tracker.ceph.com/issues/74298
Signed-off-by: Sagar Gopale <sagar.gopale@ibm.com>
3 weeks agoMerge pull request #67997 from rhcs-dashboard/abount-window
Aashish Sharma [Thu, 26 Mar 2026 07:08:19 +0000 (12:38 +0530)]
Merge pull request #67997 from rhcs-dashboard/abount-window

mgr/Dashboard : [Dashboard] Not able to open "About" window

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
3 weeks agoMerge pull request #66318 from aclamk/aclamk-fcm-plugin
Adam Kupczyk [Wed, 25 Mar 2026 23:11:42 +0000 (00:11 +0100)]
Merge pull request #66318 from aclamk/aclamk-fcm-plugin

FCM plugin for block device

3 weeks agoextblkdev/fcm: Add plugin identification for fcm 66318/head
Adam Kupczyk [Wed, 11 Feb 2026 12:03:18 +0000 (12:03 +0000)]
extblkdev/fcm: Add plugin identification for fcm

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
3 weeks agoextblkdev/fcm: Do not enable set_keepcaps by default
Adam Kupczyk [Wed, 11 Feb 2026 15:14:16 +0000 (15:14 +0000)]
extblkdev/fcm: Do not enable set_keepcaps by default

When one runs FCM enabled hardware config.set_keepcaps must be set.
However, having it as default is inadvised.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
3 weeks agoextblkdev/fcm: Change douts/derrs
Adam Kupczyk [Wed, 11 Feb 2026 11:29:48 +0000 (11:29 +0000)]
extblkdev/fcm: Change douts/derrs

Remove printing fcm values to dout(1).
Upgraded inability to access FCM log from dout to derr.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
3 weeks agoextblkdev/fcm: Create perf counters with fcm stats
Adam Kupczyk [Wed, 11 Feb 2026 09:32:31 +0000 (09:32 +0000)]
extblkdev/fcm: Create perf counters with fcm stats

Created "extblkdev" section.
Each time plugin is asked to `get_stats()` also write to perf counters.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
3 weeks agofixup warning of fcm plugin core
Adam Kupczyk [Wed, 11 Feb 2026 09:30:45 +0000 (09:30 +0000)]
fixup warning of fcm plugin core

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
3 weeks agoextblkdev/fcm: derr when FCM and no block device discard
Adam Kupczyk [Thu, 25 Sep 2025 09:13:28 +0000 (05:13 -0400)]
extblkdev/fcm: derr when FCM and no block device discard

Add derr message when FCM is in use but discard is not enabled.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
3 weeks agoextblkdev/fcm: Refuse to operate on multimedia lvm block devices
Adam Kupczyk [Thu, 25 Sep 2025 07:03:12 +0000 (03:03 -0400)]
extblkdev/fcm: Refuse to operate on multimedia lvm block devices

BlueStore is selecting were data is put to the device.
Merging 2 FCM devices together means that BlueStore will see free space
on one of the devices, but not know the other is full and asking to put
data there. It will cause -ENOSPC while free space is reported.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
3 weeks agoextblkdev/fcm: Adapt FCM plugin to RHCS9
Adam Kupczyk [Wed, 24 Sep 2025 14:03:47 +0000 (10:03 -0400)]
extblkdev/fcm: Adapt FCM plugin to RHCS9

Device /sys content is different from what original plugin expected.
Adapted to it.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
3 weeks agoadded FCM plugin
Martin Ohmacht [Thu, 11 Aug 2022 14:37:03 +0000 (10:37 -0400)]
added FCM plugin

Signed-off-by: Martin Ohmacht <mohmacht@us.ibm.com>
3 weeks agoMerge pull request #67289 from aclamk/aclamk-extblkdev-mandatory
Adam Kupczyk [Wed, 25 Mar 2026 19:22:42 +0000 (20:22 +0100)]
Merge pull request #67289 from aclamk/aclamk-extblkdev-mandatory

os/bluestore: Make extblkdev mandatory

3 weeks agoMerge pull request #65847 from pritha-srivastava/wip-rgw-sts-expired-creds
Casey Bodley [Wed, 25 Mar 2026 18:46:37 +0000 (14:46 -0400)]
Merge pull request #65847 from pritha-srivastava/wip-rgw-sts-expired-creds

rgw/sts: correct error code to 400 (from 403)

Reviewed-by: Casey Bodley <cbodley@redhat.com>
3 weeks agoMerge pull request #64641 from phlogistonjohn/jjm-smb-keybridge
John Mulligan [Wed, 25 Mar 2026 17:57:59 +0000 (13:57 -0400)]
Merge pull request #64641 from phlogistonjohn/jjm-smb-keybridge

smb: add keybridge support and fscrypt configuration

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Adam King <adking@redhat.com>
3 weeks agomgr/dashboard: [Dashboard] Not able to open "About" window 67997/head
pujaoshahu [Wed, 25 Mar 2026 14:20:57 +0000 (19:50 +0530)]
mgr/dashboard: [Dashboard] Not able to open "About" window

Fixes: https://tracker.ceph.com/issues/75702
Signed-off-by: pujaoshahu <pshahu@redhat.com>
3 weeks agomgr/smb: update fs.py to request all caps for the cephfs volume 64641/head
John Mulligan [Thu, 15 Jan 2026 15:17:06 +0000 (10:17 -0500)]
mgr/smb: update fs.py to request all caps for the cephfs volume

Update the authorizer class in fs.py to request all caps (*) for our
volume. This is necessary in order to make use of the fscrypt feature
from smbd.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
3 weeks agocephadm: add pid file directory option to cfg watch sidecar
John Mulligan [Mon, 10 Nov 2025 21:15:29 +0000 (16:15 -0500)]
cephadm: add pid file directory option to cfg watch sidecar

This will enable the config watch sidecar to signal processes
with a SIGHUP to tell them to reload configuration when config
watch has detected a configuration change. Currently only used
by keybridge.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
3 weeks agocephadm: add pidfile option to smb keybridge sidecar
John Mulligan [Mon, 10 Nov 2025 21:15:19 +0000 (16:15 -0500)]
cephadm: add pidfile option to smb keybridge sidecar

Signed-off-by: John Mulligan <jmulligan@redhat.com>
3 weeks agomgr/smb: fix unit test assertion
John Mulligan [Mon, 22 Sep 2025 15:15:37 +0000 (11:15 -0400)]
mgr/smb: fix unit test assertion

The unit test was looking for the wrong string (but the right
condition). This fixes the string to check.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
3 weeks agodoc: add documentation for keybridge and fscrypt options
John Mulligan [Wed, 23 Jul 2025 12:42:33 +0000 (08:42 -0400)]
doc: add documentation for keybridge and fscrypt options

Add docs for the keybrige configuration and cephfs fscrypt options
added to the smb mgr module resource definitions.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
3 weeks agomgr/smb: add some keybridge related unit test cases
John Mulligan [Fri, 18 Jul 2025 14:24:56 +0000 (10:24 -0400)]
mgr/smb: add some keybridge related unit test cases

Signed-off-by: John Mulligan <jmulligan@redhat.com>
3 weeks agomgr/smb: add support for generating keybridge configuration
John Mulligan [Fri, 18 Jul 2025 15:13:32 +0000 (11:13 -0400)]
mgr/smb: add support for generating keybridge configuration

Add support for generating the sambacc configuration section for
keybridge. Add support for configuring smb shares for keybridge access.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
3 weeks agomgr/smb: add cross-check validation for keybridge scopes
John Mulligan [Fri, 18 Jul 2025 14:24:45 +0000 (10:24 -0400)]
mgr/smb: add cross-check validation for keybridge scopes

Validate that scope names are not re-used, etc. Check on things that
can't be done in single object validation.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
3 weeks agomgr/smb: add new cephfs parameter for getting fscrypt keys
John Mulligan [Tue, 22 Jul 2025 23:24:11 +0000 (19:24 -0400)]
mgr/smb: add new cephfs parameter for getting fscrypt keys

Add a new field to the cephfs configuration section for shares. This
section selects the keybridge scope and key name to use when acquiring
the key to use for fscrypt.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
3 weeks agomgr/smb: add keybridge configuration to cluster resource
John Mulligan [Tue, 22 Jul 2025 23:22:15 +0000 (19:22 -0400)]
mgr/smb: add keybridge configuration to cluster resource

Add keybridge service configuration classes and parameters to the
resources module. This supports enabling the keybridge, setting up
scopes for the keybridge and it's access control.

A helper class is added that parses and helps validate the scope names.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
3 weeks agomgr/smb: add enums that will be used for configuring keybridge
John Mulligan [Wed, 16 Jul 2025 21:55:44 +0000 (17:55 -0400)]
mgr/smb: add enums that will be used for configuring keybridge

Add a pair of enum types that will be used for configuring the
keybridge. The scope type identifies what kind of scope is being
used. The peer policy can be used to allow a dev or other user
more access to the keybridge api for development purposes.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
3 weeks agomgr/smb: add raw data methods to MemConfigStore
John Mulligan [Fri, 18 Jul 2025 14:23:12 +0000 (10:23 -0400)]
mgr/smb: add raw data methods to MemConfigStore

Add the set_data/get_data methods to the MemConfigStore so that future
test updates will not fail to save tls credential objects.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
3 weeks agomgr/smb: fix a resource error unpacking str instead of list
John Mulligan [Fri, 18 Jul 2025 14:23:31 +0000 (10:23 -0400)]
mgr/smb: fix a resource error unpacking str instead of list

Add special handling for the case where a string is passed instead of a
list. Without this fix a string will be converted into a list of single
letter items, something pretty much no one ever wants. Raise an
exception instead.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
3 weeks agocephadm: add keybridge sidecar to smb daemon module
John Mulligan [Fri, 18 Jul 2025 16:20:17 +0000 (12:20 -0400)]
cephadm: add keybridge sidecar to smb daemon module

The keybridge uses the sambacc configuration but can also be passed
CLI options. Since cephadm writes the cert files, cephadm must also
pass the file names to use to the container args.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
3 weeks agomgr/cephadm: enable setting up SSL/TLS files for keybridge sidecar
John Mulligan [Fri, 18 Jul 2025 16:20:29 +0000 (12:20 -0400)]
mgr/cephadm: enable setting up SSL/TLS files for keybridge sidecar

Signed-off-by: John Mulligan <jmulligan@redhat.com>
3 weeks agopython-common/deployment: add keybridge feature to smb service spec
John Mulligan [Wed, 16 Jul 2025 21:08:49 +0000 (17:08 -0400)]
python-common/deployment: add keybridge feature to smb service spec

The keybridge sidecar is enabled by the keybridge feature flag.
This sidecar will be used to help fetch keys over various protocols
for the ceph module to use to set up fs encryption.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
3 weeks agoMerge pull request #67314 from aainscow/block_non_4k_chunks v21.0.0
Alex Ainscow [Wed, 25 Mar 2026 12:00:36 +0000 (12:00 +0000)]
Merge pull request #67314 from aainscow/block_non_4k_chunks

mon: Deny EC optimizations (fast EC) for non-4k-aligned chunk-sizes.

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Bill Scales <bill_scales@uk.ibm.com>
3 weeks agoMerge pull request #67723 from perezjosibm/wip-perezjos-tracker75202
Jose Juan Palacios-Perez [Wed, 25 Mar 2026 11:04:32 +0000 (11:04 +0000)]
Merge pull request #67723 from perezjosibm/wip-perezjos-tracker75202

qa/workunits: add crimson/test_crimson_dump_metrics.sh

3 weeks agoMerge pull request #67936 from shraddhaag/wip-shraddhaag-fix-crimson-qa
Shraddha Agrawal [Wed, 25 Mar 2026 10:41:37 +0000 (16:11 +0530)]
Merge pull request #67936 from shraddhaag/wip-shraddhaag-fix-crimson-qa

qa/distros/crimson-supported-all-distro: reinstate centos

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
3 weeks agoos/bluestore: Make extblkdev missing a warning 67289/head
Adam Kupczyk [Mon, 16 Feb 2026 13:50:26 +0000 (13:50 +0000)]
os/bluestore: Make extblkdev missing a warning

When mounting BlueStore for OSD problem with extblkdev meta are fatal error.
When mounting BlueStore in other cases extblkdev are just derr messages.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
3 weeks agoextblkdev: Make preload one-time function
Adam Kupczyk [Tue, 10 Feb 2026 12:16:46 +0000 (12:16 +0000)]
extblkdev: Make preload one-time function

Subsequent calls to extblkdev::preload() do not do anything.
It is assumed that first call already loads all plugins that could be
loaded.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
3 weeks agoos/bluestore: Add config bluestore_use_ebd
Adam Kupczyk [Thu, 22 Jan 2026 15:23:56 +0000 (15:23 +0000)]
os/bluestore: Add config bluestore_use_ebd

When EBD(extblkdev) plugin is in use usually it needs to present all the time.
For bluestore deployed with EBD plugin it makes it an error if bluestore tries
to mount and EBD plugin is not present.

Preload of extblkdev plugins was misplaced.
Moved loading plugins into BlueStore.
This way both OSD and tools can load plugins.

Plugins are now loaded only:
- before mkfs
- when extblkdev plugin is signalled in label meta

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
3 weeks agoextblkdev: Expand interface, add plugin id retrieval
Adam Kupczyk [Thu, 22 Jan 2026 13:55:51 +0000 (13:55 +0000)]
extblkdev: Expand interface, add plugin id retrieval

Plugin identification is a tool to implement two features:
1) Check the plugin is initialized
2) Verify that the plugin initialzied is the proper one

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
3 weeks agorgw/sts: correct error code to 400 (from 403) 65847/head
Pritha Srivastava [Thu, 9 Oct 2025 06:05:13 +0000 (11:35 +0530)]
rgw/sts: correct error code to 400 (from 403)
for expires sts credentials.

Fixes: https://tracker.ceph.com/issues/73441
Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
3 weeks agoMerge pull request #57395 from rzarzynski/wip-wip-crimson-ec-with-recovery
Radoslaw Zarzynski [Tue, 24 Mar 2026 20:54:54 +0000 (21:54 +0100)]
Merge pull request #57395 from rzarzynski/wip-wip-crimson-ec-with-recovery

crimson/osd: bring support for EC, including recovery

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
3 weeks agoqa/distros/crimson-supported-all-distro: reinstate centos 67936/head
Shraddha Agrawal [Sun, 22 Mar 2026 11:08:00 +0000 (16:38 +0530)]
qa/distros/crimson-supported-all-distro: reinstate centos

Signed-off-by: Shraddha Agrawal <shraddha.agrawal000@gmail.com>
3 weeks agoRevert "crimson/osd, test: turn the EC tests on for crimson" 57395/head
Radoslaw Zarzynski [Sun, 22 Mar 2026 08:26:19 +0000 (08:26 +0000)]
Revert "crimson/osd, test: turn the EC tests on for crimson"

This reverts commit 36fc26b2b803fcf425de674a578c4aba20a5d9ea.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: fixes after crimson::os::with_store<>()
Radoslaw Zarzynski [Wed, 18 Mar 2026 19:34:50 +0000 (19:34 +0000)]
crimson/osd: fixes after crimson::os::with_store<>()

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: Avoid pwlc spanning intervals
Radoslaw Zarzynski [Wed, 18 Mar 2026 19:33:37 +0000 (19:33 +0000)]
crimson/osd: Avoid pwlc spanning intervals

This is a crimson port of `dc0a195b937eb175cf663d48a856f486435e987f`.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: improve !is_omap() logging
Radoslaw Zarzynski [Sat, 14 Mar 2026 19:53:50 +0000 (19:53 +0000)]
crimson/osd: improve !is_omap() logging

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimon/osd: drop present_shards from PGLog handler's partial_write()
Radoslaw Zarzynski [Tue, 27 Jan 2026 00:27:13 +0000 (00:27 +0000)]
crimon/osd: drop present_shards from PGLog handler's partial_write()

In correspondence with classical's 880a17e39626d99a0b6cc8259523daa83c72802c.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: improve debugs in ECTransaction::Generate::Generate()
Radoslaw Zarzynski [Mon, 1 Dec 2025 14:39:08 +0000 (14:39 +0000)]
crimson/osd: improve debugs in ECTransaction::Generate::Generate()

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimon/osd: implement PG::PGLogEntryHandler::partial_write() for FastEC
Radoslaw Zarzynski [Mon, 1 Dec 2025 14:35:48 +0000 (14:35 +0000)]
crimon/osd: implement PG::PGLogEntryHandler::partial_write() for FastEC

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: port changes from classial FastEC
Radoslaw Zarzynski [Fri, 28 Nov 2025 12:55:10 +0000 (12:55 +0000)]
crimson/osd: port changes from classial FastEC

This commit ports changes from c116b8615d68a3926dc78a4965cc0a28ff85d4f2.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agotests: LibRadosIoEC allows for overwrites / unalligned writes on crimson
Radoslaw Zarzynski [Thu, 27 Nov 2025 15:57:40 +0000 (15:57 +0000)]
tests: LibRadosIoEC allows for overwrites / unalligned writes on crimson

1. crimson-osd does support solely the FastEC flavor of EC pools;
   SlowEC isn't now and won't be implemented.
2. FastEC imposes the EC overwrites support.
3. When run against crimson's EC implementation, the tests shall
   not enforce e.g. ENOTSUPP on overwrite.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: implement handling of RADOS' extended attirbutes in FastEC
Radoslaw Zarzynski [Thu, 27 Nov 2025 15:28:58 +0000 (15:28 +0000)]
crimson/osd: implement handling of RADOS' extended attirbutes in FastEC

Support for `attr_cache` in replicated backend is planned for later.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: drop unused variable from PGBackend::getxattr()
Radoslaw Zarzynski [Wed, 19 Nov 2025 13:26:50 +0000 (13:26 +0000)]
crimson/osd: drop unused variable from PGBackend::getxattr()

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: drop unneccessary variant of PGBackend::getxattr()
Radoslaw Zarzynski [Tue, 18 Nov 2025 15:15:34 +0000 (15:15 +0000)]
crimson/osd: drop unneccessary variant of PGBackend::getxattr()

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: don't decode EC only attrs are needed
Radoslaw Zarzynski [Fri, 17 Oct 2025 14:39:49 +0000 (14:39 +0000)]
crimson/osd: don't decode EC only attrs are needed

This a crimson coutnerpart of 417fb71c9b5628726d3217909ba1b6d3e7bf251a.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agormw_pipeline in RMWPipeline::Op
Radoslaw Zarzynski [Wed, 3 Sep 2025 12:06:56 +0000 (12:06 +0000)]
rmw_pipeline in RMWPipeline::Op

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agofixup: crimson/osd: settle ECRecoveryBackend -- local MOSDPGPush
Radoslaw Zarzynski [Wed, 16 Jul 2025 12:24:26 +0000 (12:24 +0000)]
fixup: crimson/osd: settle ECRecoveryBackend -- local MOSDPGPush

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agofixup: crimson/osd: settle RMWPipeline and RMWPipeline within ECBackend
Radoslaw Zarzynski [Wed, 16 Jul 2025 12:17:54 +0000 (12:17 +0000)]
fixup: crimson/osd: settle RMWPipeline and RMWPipeline within ECBackend

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agofixup: crimson/osd: wire MOSDECSubOpWriteReply up with ECBackend
Radoslaw Zarzynski [Wed, 16 Jul 2025 12:16:16 +0000 (12:16 +0000)]
fixup: crimson/osd: wire MOSDECSubOpWriteReply up with ECBackend

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agofixup: crimson/osd: route EC messages over PG
Radoslaw Zarzynski [Wed, 16 Jul 2025 12:15:43 +0000 (12:15 +0000)]
fixup: crimson/osd: route EC messages over PG

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: fix unused variable warnings pg.cc and seastore
Radoslaw Zarzynski [Wed, 16 Jul 2025 12:04:00 +0000 (12:04 +0000)]
crimson/osd: fix unused variable warnings pg.cc and seastore

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agoECCommon: fixups for crimson's FastEC support
Radoslaw Zarzynski [Wed, 16 Jul 2025 12:02:13 +0000 (12:02 +0000)]
ECCommon: fixups for crimson's FastEC support

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agofixup: crimson/osd: bring ECRecoveryBackend, phase 0.1
Radoslaw Zarzynski [Wed, 16 Jul 2025 11:57:12 +0000 (11:57 +0000)]
fixup: crimson/osd: bring ECRecoveryBackend, phase 0.1

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agofixup: crimson/osd: translate for os::Transaction into ECTransaction
Radoslaw Zarzynski [Wed, 16 Jul 2025 11:48:36 +0000 (11:48 +0000)]
fixup: crimson/osd: translate for os::Transaction into ECTransaction

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agofixup: crimson/osd: switch return type of PG::get_dpp to unify with ECListener
Radoslaw Zarzynski [Wed, 16 Jul 2025 08:56:25 +0000 (08:56 +0000)]
fixup: crimson/osd: switch return type of PG::get_dpp to unify with ECListener

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: switch return type of PG::get_dpp to unify with ECListener
Radoslaw Zarzynski [Wed, 21 May 2025 14:42:20 +0000 (14:42 +0000)]
crimson/osd: switch return type of PG::get_dpp to unify with ECListener

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: settle ECExtentCache within ShardService
Radoslaw Zarzynski [Wed, 21 May 2025 14:38:40 +0000 (14:38 +0000)]
crimson/osd: settle ECExtentCache within ShardService

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: PGBackend::_read() takes object_size for the sake of FastEC
Radoslaw Zarzynski [Wed, 21 May 2025 14:31:36 +0000 (14:31 +0000)]
crimson/osd: PGBackend::_read() takes object_size for the sake of FastEC

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agofixup: fixup: crimson/osd: add support for MOSDECSubOpRead
Radoslaw Zarzynski [Wed, 21 May 2025 14:01:32 +0000 (14:01 +0000)]
fixup: fixup: crimson/osd: add support for MOSDECSubOpRead

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agofixup: crimson/osd: wire MOSDECSubOpWriteReply up with ECBackend
Radoslaw Zarzynski [Wed, 21 May 2025 13:44:06 +0000 (13:44 +0000)]
fixup: crimson/osd: wire MOSDECSubOpWriteReply up with ECBackend

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agofixup: crimson/osd: implement ECBackend::handle_rep_read_reply()
Radoslaw Zarzynski [Wed, 21 May 2025 13:40:38 +0000 (13:40 +0000)]
fixup: crimson/osd: implement ECBackend::handle_rep_read_reply()

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agofixup: crimson/osd: translate for os::Transaction into ECTransaction
Radoslaw Zarzynski [Wed, 21 May 2025 13:35:34 +0000 (13:35 +0000)]
fixup: crimson/osd: translate for os::Transaction into ECTransaction

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agofixup: crimson/osd: implement ECBackend::objects_read_and_reconstruc
Radoslaw Zarzynski [Mon, 19 May 2025 17:43:39 +0000 (17:43 +0000)]
fixup: crimson/osd: implement ECBackend::objects_read_and_reconstruc

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agofixup: crimson/osd: settle RMWPipeline and RMWPipeline within ECBacken
Radoslaw Zarzynski [Wed, 21 May 2025 16:05:13 +0000 (16:05 +0000)]
fixup: crimson/osd: settle RMWPipeline and RMWPipeline within ECBacken

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agofixup: crimson/osd: settle RMWPipeline and RMWPipeline within ECBackend
Radoslaw Zarzynski [Wed, 21 May 2025 14:02:34 +0000 (14:02 +0000)]
fixup: crimson/osd: settle RMWPipeline and RMWPipeline within ECBackend

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: settle RMWPipeline and RMWPipeline within ECBackend
Radoslaw Zarzynski [Mon, 19 May 2025 17:43:02 +0000 (17:43 +0000)]
crimson/osd: settle RMWPipeline and RMWPipeline within ECBackend

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: tackle the get_write_plan() problem of ECBackend
Radoslaw Zarzynski [Sun, 11 May 2025 11:29:18 +0000 (11:29 +0000)]
crimson/osd: tackle the get_write_plan() problem of ECBackend

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agofixup: crimson/osd: settle ECRecoveryBackend -- misc small bits of ECListener
Radoslaw Zarzynski [Wed, 23 Apr 2025 09:57:07 +0000 (09:57 +0000)]
fixup: crimson/osd: settle ECRecoveryBackend -- misc small bits of ECListener

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agofixup: crimson/osd: bring ECRecoveryBackend, phase 0.1
Radoslaw Zarzynski [Wed, 12 Feb 2025 00:14:36 +0000 (00:14 +0000)]
fixup: crimson/osd: bring ECRecoveryBackend, phase 0.1

Per ecda6780c93db66865533a27dab5b0beb052f5fa.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd, test: turn the EC tests on for crimson
Radoslaw Zarzynski [Mon, 20 Jan 2025 19:31:27 +0000 (19:31 +0000)]
crimson/osd, test: turn the EC tests on for crimson

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agoRevert "crimson/.../object_context: drop recovery_read_marker"
Radoslaw Zarzynski [Mon, 16 Dec 2024 17:24:03 +0000 (17:24 +0000)]
Revert "crimson/.../object_context: drop recovery_read_marker"

This reverts commit c1b7435d6c3a598ee13dd57ba8b83014c4cca893.

EC support needs `wait_for_recovery()`.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agoosd: ECCommon respects crimson non-null obc for new objects
Radoslaw Zarzynski [Thu, 9 May 2024 21:51:11 +0000 (21:51 +0000)]
osd: ECCommon respects crimson non-null obc for new objects

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: bring get_temp_recovery_object() to PGRecovery for EC
Radoslaw Zarzynski [Thu, 9 May 2024 18:22:13 +0000 (18:22 +0000)]
crimson/osd: bring get_temp_recovery_object() to PGRecovery for EC

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: settle ECRecoveryBackend -- misc small bits of ECListener
Radoslaw Zarzynski [Thu, 9 May 2024 18:21:10 +0000 (18:21 +0000)]
crimson/osd: settle ECRecoveryBackend -- misc small bits of ECListener

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: settle ECRecoveryBackend -- local MOSDPGPush
Radoslaw Zarzynski [Thu, 9 May 2024 17:37:51 +0000 (17:37 +0000)]
crimson/osd: settle ECRecoveryBackend -- local MOSDPGPush

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: settle ECRecoveryBackend -- bring maybe_load_obc()
Radoslaw Zarzynski [Thu, 9 May 2024 18:12:55 +0000 (18:12 +0000)]
crimson/osd: settle ECRecoveryBackend -- bring maybe_load_obc()

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: make objctx loading agnostic about source of attrs
Radoslaw Zarzynski [Mon, 19 Jan 2026 22:29:07 +0000 (22:29 +0000)]
crimson/osd: make objctx loading agnostic about source of attrs

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/errorator: helpers for tl::expected
Radoslaw Zarzynski [Mon, 19 Jan 2026 22:27:19 +0000 (22:27 +0000)]
crimson/errorator: helpers for tl::expected

`ErrorHelper` is supposed to facilitate transformation of `std::error_code`
(and similar) into an immediately failed errorated `future` with extra error
checking.

The main idea is to let something like:

```cpp
my_ertr_t::future<my_value_t> foo() {
  // ...
  // `maybe_decoded` here is an instance of `tl::expected` carrying `std::error_code`
  // in its error part
  if (!maybe_decoded) {
    // `std::error_code` can convey errors `my_ertr_t` does not allow – in that case,
    // it would be helpful to get at least a run-time assert.
    return ErrorHelper<my_ertr_t>::from_error<my_value_t>(maybe_decoded.error());
  }
  // ...
}
```

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
(cherry picked from commit a7ffc18eb40b9145fca5f064c4b3d097bffeb8d0)

3 weeks agocrimson/*: rename errorator-loop.h into errorator-utils.h
Radoslaw Zarzynski [Tue, 20 Jan 2026 15:23:22 +0000 (15:23 +0000)]
crimson/*: rename errorator-loop.h into errorator-utils.h

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
(cherry picked from commit 682e4ff4322a895a0bdb6c9cc0d00a516499baad)

3 weeks agocrimson/osd: delegate md loading outside of ObjectContextLoader::load_obc()
Radoslaw Zarzynski [Thu, 9 May 2024 10:25:08 +0000 (10:25 +0000)]
crimson/osd: delegate md loading outside of ObjectContextLoader::load_obc()

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: dissect metadata decoding from PGBackend::load_metadata()
Radoslaw Zarzynski [Thu, 9 May 2024 10:20:33 +0000 (10:20 +0000)]
crimson/osd: dissect metadata decoding from PGBackend::load_metadata()

This loosens the coupling between loading and decoding making
the latter reusable with metadata coming from other source than
local object store.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: make OSD::osd_stat compliant with multi-core
Radoslaw Zarzynski [Thu, 9 May 2024 09:44:56 +0000 (09:44 +0000)]
crimson/osd: make OSD::osd_stat compliant with multi-core

The EC recovery backend needs `inc_osd_stat_repaired()`.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: add support for reads over EC pool
Radoslaw Zarzynski [Thu, 2 May 2024 13:29:52 +0000 (13:29 +0000)]
crimson/osd: add support for reads over EC pool

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: fix compiler warnings on copy elision being prevented
Radoslaw Zarzynski [Wed, 1 May 2024 17:04:12 +0000 (17:04 +0000)]
crimson/osd: fix compiler warnings on copy elision being prevented

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: on the cloning path bump obj version closer to its usage
Radoslaw Zarzynski [Tue, 23 Apr 2024 13:54:23 +0000 (13:54 +0000)]
crimson/osd: on the cloning path bump obj version closer to its usage

My understanding at the time of writing is this change is a pure
refactoring.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: fix std::moving in ShardServices
Radoslaw Zarzynski [Wed, 3 Apr 2024 14:37:20 +0000 (14:37 +0000)]
crimson/osd: fix std::moving in ShardServices

```
/home/rzarzynski/ceph2/src/crimson/osd/shard_services.cc:595:9:   required from here
/home/rzarzynski/ceph2/src/crimson/osd/shard_services.cc:596:10: warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
  596 |     auto [pool, name, ec_profile] = std::move(std::get<0>(ret).get0());
      |          ^~~~~~~~~~~~~~~~~~~~~~~~
/home/rzarzynski/ceph2/src/crimson/osd/shard_services.cc:596:10: note: remove ‘std::move’ call
/home/rzarzynski/ceph2/src/crimson/osd/shard_services.cc:597:10: warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
  597 |     auto coll = std::move(std::get<1>(ret).get0());
      |          ^~~~
/home/rzarzynski/ceph2/src/crimson/osd/shard_services.cc:597:10: note: remove ‘std::move’ call
```

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: implement ECRecoveryBackend::commit_txn_send_replies()
Radoslaw Zarzynski [Tue, 26 Mar 2024 14:25:18 +0000 (14:25 +0000)]
crimson/osd: implement ECRecoveryBackend::commit_txn_send_replies()

This bypasses the crimson-msgr for local ops.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: implement ECRecoveryBackend::recover_object()
Radoslaw Zarzynski [Tue, 26 Mar 2024 14:24:59 +0000 (14:24 +0000)]
crimson/osd: implement ECRecoveryBackend::recover_object()

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: wire up MOSDPGPush and MOSDPGPushReply in ECRecoveryBackend
Radoslaw Zarzynski [Tue, 26 Mar 2024 12:18:04 +0000 (12:18 +0000)]
crimson/osd: wire up MOSDPGPush and MOSDPGPushReply in ECRecoveryBackend

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: ECReplicatedBackend embraces ECCommon::RecoveryBackend
Radoslaw Zarzynski [Tue, 26 Mar 2024 11:47:38 +0000 (11:47 +0000)]
crimson/osd: ECReplicatedBackend embraces ECCommon::RecoveryBackend

The idea is to compose the latter into the former (thus the private
inheritance) to easily build a class that fulfills the crimon iface
called `crimson::ReplicatedBackend`.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>