From: Radoslaw Zarzynski Date: Wed, 16 Jul 2025 12:02:13 +0000 (+0000) Subject: ECCommon: fixups for crimson's FastEC support X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5abc276bb61d372bf280ed2ca57608cd48b750ad;p=ceph-ci.git ECCommon: fixups for crimson's FastEC support Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/osd/ECCommon.cc b/src/osd/ECCommon.cc index d23c3297f1f..f42593d56ed 100644 --- a/src/osd/ECCommon.cc +++ b/src/osd/ECCommon.cc @@ -640,12 +640,15 @@ struct ClientReadCompleter final : ECCommon::ReadCompleter { for (auto &&read: req.to_read) { // Return a buffer containing both data and parity // if the parity read inject is set +#ifndef WITH_CRIMSON if (cct->_conf->bluestore_debug_inject_read_err && ECInject::test_parity_read(hoid)) { bufferlist data_and_parity; read_pipeline.create_parity_read_buffer(res.buffers_read, read, &data_and_parity); result.insert(read.offset, data_and_parity.length(), data_and_parity); - } else { + } else +#endif + { result.insert(read.offset, read.size, res.buffers_read.get_ro_buffer(read.offset, read.size)); } @@ -685,11 +688,13 @@ void ECCommon::ReadPipeline::objects_read_and_reconstruct( map for_read_op; for (auto &&[hoid, to_read]: reads) { ECUtil::shard_extent_set_t want_shard_reads(sinfo.get_k_plus_m()); +#ifndef WITH_CRIMSON if (cct->_conf->bluestore_debug_inject_read_err && ECInject::test_parity_read(hoid)) { get_want_to_read_all_shards(to_read, want_shard_reads); - } - else { + } else +#endif + { get_want_to_read_shards(to_read, want_shard_reads); }