From 9af99c302437c46bdf4b6f1b6e09224363b54b39 Mon Sep 17 00:00:00 2001 From: Matan Breizman Date: Tue, 10 May 2022 11:11:48 +0000 Subject: [PATCH] crimson/osd: Moving shard_services to PGBackend ec and replicated backends are derived from PGBackend, shard_services should be a member of the base class. Signed-off-by: Matan Breizman --- src/crimson/osd/ec_backend.cc | 2 +- src/crimson/osd/pg_backend.cc | 5 +++-- src/crimson/osd/pg_backend.h | 4 +++- src/crimson/osd/replicated_backend.cc | 5 ++--- src/crimson/osd/replicated_backend.h | 1 - 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/crimson/osd/ec_backend.cc b/src/crimson/osd/ec_backend.cc index 9ea0d1e6564a1..88411096f077c 100644 --- a/src/crimson/osd/ec_backend.cc +++ b/src/crimson/osd/ec_backend.cc @@ -7,7 +7,7 @@ ECBackend::ECBackend(shard_id_t shard, crimson::osd::ShardServices& shard_services, const ec_profile_t&, uint64_t) - : PGBackend{shard, coll, &shard_services.get_store()} + : PGBackend{shard, coll, shard_services} { // todo } diff --git a/src/crimson/osd/pg_backend.cc b/src/crimson/osd/pg_backend.cc index 5dd3ec2caa26c..829b8ea07c930 100644 --- a/src/crimson/osd/pg_backend.cc +++ b/src/crimson/osd/pg_backend.cc @@ -61,10 +61,11 @@ PGBackend::create(pg_t pgid, PGBackend::PGBackend(shard_id_t shard, CollectionRef coll, - crimson::os::FuturizedStore* store) + crimson::osd::ShardServices &shard_services) : shard{shard}, coll{coll}, - store{store} + shard_services{shard_services}, + store{&shard_services.get_store()} {} PGBackend::load_metadata_iertr::future diff --git a/src/crimson/osd/pg_backend.h b/src/crimson/osd/pg_backend.h index 8bd9526e6d29b..40a1d4cdb66ac 100644 --- a/src/crimson/osd/pg_backend.h +++ b/src/crimson/osd/pg_backend.h @@ -63,7 +63,8 @@ public: using rep_op_fut_t = std::tuple, interruptible_future>; - PGBackend(shard_id_t shard, CollectionRef coll, crimson::os::FuturizedStore* store); + PGBackend(shard_id_t shard, CollectionRef coll, + crimson::osd::ShardServices &shard_services); virtual ~PGBackend() = default; static std::unique_ptr create(pg_t pgid, const pg_shard_t pg_shard, @@ -337,6 +338,7 @@ public: protected: const shard_id_t shard; CollectionRef coll; + crimson::osd::ShardServices &shard_services; crimson::os::FuturizedStore* store; bool stopping = false; std::optional peering; diff --git a/src/crimson/osd/replicated_backend.cc b/src/crimson/osd/replicated_backend.cc index 7cc0a6c8eb5ae..0802ec5abc471 100644 --- a/src/crimson/osd/replicated_backend.cc +++ b/src/crimson/osd/replicated_backend.cc @@ -21,10 +21,9 @@ ReplicatedBackend::ReplicatedBackend(pg_t pgid, pg_shard_t whoami, ReplicatedBackend::CollectionRef coll, crimson::osd::ShardServices& shard_services) - : PGBackend{whoami.shard, coll, &shard_services.get_store()}, + : PGBackend{whoami.shard, coll, shard_services}, pgid{pgid}, - whoami{whoami}, - shard_services{shard_services} + whoami{whoami} {} ReplicatedBackend::ll_read_ierrorator::future diff --git a/src/crimson/osd/replicated_backend.h b/src/crimson/osd/replicated_backend.h index b768fed717b7d..fce98fbd0c62a 100644 --- a/src/crimson/osd/replicated_backend.h +++ b/src/crimson/osd/replicated_backend.h @@ -37,7 +37,6 @@ private: std::vector&& log_entries) final; const pg_t pgid; const pg_shard_t whoami; - crimson::osd::ShardServices& shard_services; ceph_tid_t next_txn_id = 0; class pending_on_t : public seastar::weakly_referencable { public: -- 2.39.5