From: Radosław Zarzyński Date: Wed, 27 Apr 2022 11:29:28 +0000 (+0200) Subject: crimson/osd: crimson/osd: drop blocking_future from PGMap X-Git-Tag: v18.0.0~947^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=409332f2f3e85ec17f873000988971b453acd32c;p=ceph-ci.git crimson/osd: crimson/osd: drop blocking_future from PGMap Signed-off-by: Radosław Zarzyński --- 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);