From: Matan Breizman Date: Tue, 10 May 2022 11:11:48 +0000 (+0000) Subject: crimson/osd: Moving shard_services to PGBackend X-Git-Tag: v18.0.0~922^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F46217%2Fhead;p=ceph.git 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 --- 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: