From: Alex Ainscow Date: Thu, 27 Mar 2025 14:57:27 +0000 (+0000) Subject: osd: Add interface for new EC to determine the acting recovery backfill shard id... X-Git-Tag: v20.3.0~29^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=cf3c41359bc85006c32b57fc377110fe95aa2081;p=ceph.git osd: Add interface for new EC to determine the acting recovery backfill shard id set. This is used to optimise the set of shards that will be written to by EC writes. Signed-off-by: Alex Ainscow --- diff --git a/src/osd/ECListener.h b/src/osd/ECListener.h index 39602dcd064..76fd03c6d66 100644 --- a/src/osd/ECListener.h +++ b/src/osd/ECListener.h @@ -148,6 +148,7 @@ struct ECListener { // RMWPipeline virtual const pg_pool_t &get_pool() const = 0; virtual const std::set &get_acting_recovery_backfill_shards() const = 0; + virtual const shard_id_set &get_acting_recovery_backfill_shard_id_set() const = 0; // XXX virtual bool should_send_op( pg_shard_t peer, diff --git a/src/osd/PrimaryLogPG.h b/src/osd/PrimaryLogPG.h index 94c0b13b514..b365cf29457 100644 --- a/src/osd/PrimaryLogPG.h +++ b/src/osd/PrimaryLogPG.h @@ -392,6 +392,9 @@ public: const std::set &get_acting_recovery_backfill_shards() const override { return get_acting_recovery_backfill(); } + const shard_id_set &get_acting_recovery_backfill_shard_id_set() const override { + return PG::get_acting_recovery_backfill_shard_id_set(); + } const std::set &get_acting_shards() const override { return recovery_state.get_actingset(); }