]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/log
ceph.git
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 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>
3 weeks agocrimson/osd: settle ECCommon::RecoveryBackend within crimson-osd
Radoslaw Zarzynski [Mon, 25 Mar 2024 14:31:55 +0000 (14:31 +0000)]
crimson/osd: settle ECCommon::RecoveryBackend within crimson-osd

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agofixup: crimson/osd: compile and link with ECTransaction.cc
Radoslaw Zarzynski [Fri, 18 Apr 2025 09:03:53 +0000 (09:03 +0000)]
fixup: crimson/osd: compile and link with ECTransaction.cc

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agofixup: crimson/osd: add support for error handling around MOSDECSubOpRead
Radoslaw Zarzynski [Fri, 18 Apr 2025 08:50:53 +0000 (08:50 +0000)]
fixup: crimson/osd: add support for error handling around MOSDECSubOpRead

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agoRevert "crimson: clarify RecoveryBackend::handle_backfill_op"
Radoslaw Zarzynski [Fri, 18 Apr 2025 08:47:09 +0000 (08:47 +0000)]
Revert "crimson: clarify RecoveryBackend::handle_backfill_op"

This reverts commit ecda6780c93db66865533a27dab5b0beb052f5fa.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: wire MOSDPGPush{,Reply} with ECRecoveryBackend, phase 2
Radoslaw Zarzynski [Mon, 25 Mar 2024 11:07:33 +0000 (11:07 +0000)]
crimson/osd: wire MOSDPGPush{,Reply} with ECRecoveryBackend, phase 2

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: wire MOSDPGPush{,Reply} with ECRecoveryBackend
Radoslaw Zarzynski [Tue, 19 Mar 2024 17:40:26 +0000 (17:40 +0000)]
crimson/osd: wire MOSDPGPush{,Reply} with ECRecoveryBackend

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: bring factory to RecoveryBackend
Radoslaw Zarzynski [Tue, 19 Mar 2024 17:18:41 +0000 (17:18 +0000)]
crimson/osd: bring factory to RecoveryBackend

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: bring ECRecoveryBackend, phase 0.1
Radoslaw Zarzynski [Tue, 19 Mar 2024 17:18:02 +0000 (17:18 +0000)]
crimson/osd: bring ECRecoveryBackend, phase 0.1

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: conceptually move delete handling out of ReplicatedRecoveryBackend
Radoslaw Zarzynski [Tue, 19 Mar 2024 16:58:45 +0000 (16:58 +0000)]
crimson/osd: conceptually move delete handling out of ReplicatedRecoveryBackend

This logic is shareable between ReplicatedRecoveryBackend and
coming ECRecoveryBackend.

The switch happens currently only structural level; shuffling
betweeen source files will happen later.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: bring ECRecoveryBackend, phase 0
Radoslaw Zarzynski [Tue, 19 Mar 2024 16:49:06 +0000 (16:49 +0000)]
crimson/osd: bring ECRecoveryBackend, phase 0

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agocrimson/osd: drop the green thread for ECBackend::submit_transaction()
Radosław Zarzyński [Wed, 22 Nov 2023 16:53:31 +0000 (17:53 +0100)]
crimson/osd: drop the green thread for ECBackend::submit_transaction()

Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
3 weeks agocrimson/osd: ECBackend::handle_sub_write() handles the end of local write
Radosław Zarzyński [Tue, 24 Oct 2023 10:51:24 +0000 (12:51 +0200)]
crimson/osd: ECBackend::handle_sub_write() handles the end of local write

Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
3 weeks agocrimson/osd: improve debugs in ECBackend::handle_rep_write_reply
Radosław Zarzyński [Tue, 24 Oct 2023 10:48:25 +0000 (12:48 +0200)]
crimson/osd: improve debugs in ECBackend::handle_rep_write_reply

Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
3 weeks agocrimson/osd: handle_rep_write_reply() takes ECSubWriteReply
Radosław Zarzyński [Tue, 24 Oct 2023 10:43:35 +0000 (12:43 +0200)]
crimson/osd: handle_rep_write_reply() takes ECSubWriteReply

Taking this ECSubWriteReply instead of MOSDECSubOpWriteReply
makes this method easier to reuse for handling local writes.

Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
3 weeks agocrimson/osd: extend PG::should_send_op() and move it to .cc
Radosław Zarzyński [Tue, 24 Oct 2023 10:38:51 +0000 (12:38 +0200)]
crimson/osd: extend PG::should_send_op() and move it to .cc

Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
3 weeks agocrimson/osd: implement ECBackend::objects_read_and_reconstruct
Radosław Zarzyński [Mon, 9 Oct 2023 20:20:06 +0000 (22:20 +0200)]
crimson/osd: implement ECBackend::objects_read_and_reconstruct

Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
3 weeks agocrimson/osd: implement submit_transaction() of ECBackend
Radosław Zarzyński [Fri, 6 Oct 2023 21:35:26 +0000 (23:35 +0200)]
crimson/osd: implement submit_transaction() of ECBackend

Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
3 weeks agocrimson/osd: PCBackend::_submit_transaction() takes ObjectContext
Radosław Zarzyński [Tue, 24 Oct 2023 10:25:41 +0000 (12:25 +0200)]
crimson/osd: PCBackend::_submit_transaction() takes ObjectContext

For the sake of ECBackend.

Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
3 weeks agocrimson/osd: bring attr cache to ObjectContext
Radosław Zarzyński [Fri, 6 Oct 2023 14:42:20 +0000 (16:42 +0200)]
crimson/osd: bring attr cache to ObjectContext

Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
3 weeks agocrimson/osd: compile and link with ECTransaction.cc
Radosław Zarzyński [Fri, 6 Oct 2023 14:41:54 +0000 (16:41 +0200)]
crimson/osd: compile and link with ECTransaction.cc

Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
3 weeks agocrimson/osd: drop the mock of ECTransaction-for-crimson from ECCommon
Radosław Zarzyński [Mon, 2 Oct 2023 19:51:53 +0000 (21:51 +0200)]
crimson/osd: drop the mock of ECTransaction-for-crimson from ECCommon

Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>