From 409332f2f3e85ec17f873000988971b453acd32c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rados=C5=82aw=20Zarzy=C5=84ski?= Date: Wed, 27 Apr 2022 13:29:28 +0200 Subject: [PATCH] crimson/osd: crimson/osd: drop blocking_future from PGMap MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Radosław Zarzyński --- src/crimson/osd/osd.cc | 24 ------------------------ src/crimson/osd/osd.h | 6 ------ src/crimson/osd/pg_map.cc | 12 ------------ src/crimson/osd/pg_map.h | 1 - 4 files changed, 43 deletions(-) diff --git a/src/crimson/osd/osd.cc b/src/crimson/osd/osd.cc index 6640f502c65..2c88f5a5de0 100644 --- a/src/crimson/osd/osd.cc +++ b/src/crimson/osd/osd.cc @@ -1412,24 +1412,6 @@ seastar::future<> OSD::consume_map(epoch_t epoch) } -blocking_future> -OSD::get_or_create_pg( - spg_t pgid, - epoch_t epoch, - std::unique_ptr info) -{ - if (info) { - auto [fut, creating] = pg_map.wait_for_pg(pgid); - if (!creating) { - pg_map.set_creating(pgid); - (void)handle_pg_create_info(std::move(info)); - } - return std::move(fut); - } else { - return make_ready_blocking_future>(pg_map.get_pg(pgid)); - } -} - seastar::future> OSD::get_or_create_pg( PGMap::PGCreationBlockingEvent::TriggerI&& trigger, @@ -1449,12 +1431,6 @@ OSD::get_or_create_pg( } } -blocking_future> OSD::wait_for_pg( - spg_t pgid) -{ - return pg_map.wait_for_pg(pgid).first; -} - seastar::future> OSD::wait_for_pg( PGMap::PGCreationBlockingEvent::TriggerI&& trigger, spg_t pgid) { diff --git a/src/crimson/osd/osd.h b/src/crimson/osd/osd.h index 9b4c9c8dc57..ae0ac9bc0e5 100644 --- a/src/crimson/osd/osd.h +++ b/src/crimson/osd/osd.h @@ -236,17 +236,11 @@ private: friend class RemotePeeringEvent; public: - blocking_future> get_or_create_pg( - spg_t pgid, - epoch_t epoch, - std::unique_ptr info); seastar::future> get_or_create_pg( PGMap::PGCreationBlockingEvent::TriggerI&&, spg_t pgid, epoch_t epoch, std::unique_ptr info); - blocking_future> wait_for_pg( - spg_t pgid); seastar::future> wait_for_pg( PGMap::PGCreationBlockingEvent::TriggerI&&, spg_t pgid); Ref get_pg(spg_t pgid); diff --git a/src/crimson/osd/pg_map.cc b/src/crimson/osd/pg_map.cc index 6c8d5754c4c..d291419dd37 100644 --- a/src/crimson/osd/pg_map.cc +++ b/src/crimson/osd/pg_map.cc @@ -25,18 +25,6 @@ void PGMap::PGCreationState::dump_detail(Formatter *f) const f->dump_bool("creating", creating); } -std::pair>, bool> PGMap::wait_for_pg(spg_t pgid) -{ - if (auto pg = get_pg(pgid)) { - return make_pair(make_ready_blocking_future>(pg), true); - } else { - auto &state = pgs_creating.emplace(pgid, pgid).first->second; - return make_pair( - state.make_blocking_future(state.promise.get_shared_future()), - state.creating); - } -} - std::pair>, bool> PGMap::wait_for_pg(PGCreationBlockingEvent::TriggerI&& trigger, spg_t pgid) { diff --git a/src/crimson/osd/pg_map.h b/src/crimson/osd/pg_map.h index 1a06ee5c22e..c4bd5878a0a 100644 --- a/src/crimson/osd/pg_map.h +++ b/src/crimson/osd/pg_map.h @@ -46,7 +46,6 @@ public: * Get future for pg with a bool indicating whether it's already being * created. */ - std::pair>, bool> wait_for_pg(spg_t pgid); std::pair>, bool> wait_for_pg(PGCreationBlockingEvent::TriggerI&&, spg_t pgid); -- 2.47.3