From: Samuel Just Date: Tue, 12 Jul 2022 23:51:01 +0000 (-0700) Subject: crimson/osd: move osdmap_gate to CoreState X-Git-Tag: v18.0.0~483^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d54ca487b3b99168a266df64180f12f1056a14fa;p=ceph.git crimson/osd: move osdmap_gate to CoreState Signed-off-by: Samuel Just --- diff --git a/src/crimson/osd/osd.cc b/src/crimson/osd/osd.cc index 4c9d92fbfe3d..2fa8511401e6 100644 --- a/src/crimson/osd/osd.cc +++ b/src/crimson/osd/osd.cc @@ -101,7 +101,6 @@ OSD::OSD(int id, uint32_t nonce, update_stats(); }}, asok{seastar::make_lw_shared()}, - osdmap_gate("OSD::osdmap_gate"), log_client(cluster_msgr.get(), LogClient::NO_FLAGS), clog(log_client.create_channel()) { @@ -332,8 +331,8 @@ seastar::future<> OSD::start() superblock = std::move(sb); return get_map(superblock.current_epoch); }).then([this](cached_map_t&& map) { - osdmap_gate.got_map(map->get_epoch()); pg_shard_manager.update_map(map); + pg_shard_manager.got_map(map->get_epoch()); osdmap = std::move(map); bind_epoch = osdmap->get_epoch(); return load_pgs(); @@ -1446,7 +1445,7 @@ seastar::future<> OSD::consume_map(epoch_t epoch) *this, pg.second, pg.second->get_osdmap_epoch(), epoch, PeeringCtx{}, false).second; }).then([epoch, this] { - osdmap_gate.got_map(epoch); + pg_shard_manager.got_map(epoch); return seastar::make_ready_future(); }); } diff --git a/src/crimson/osd/osd.h b/src/crimson/osd/osd.h index a6030e2ac91e..3f38e28aed05 100644 --- a/src/crimson/osd/osd.h +++ b/src/crimson/osd/osd.h @@ -215,8 +215,6 @@ private: crimson::net::ConnectionRef conn, Ref m); public: - OSD_OSDMapGate osdmap_gate; - ShardServices &get_shard_services() { return pg_shard_manager.get_shard_services(); } @@ -273,7 +271,7 @@ public: OSD_OSDMapGate::OSDMapBlocker::BlockingEvent; return opref.template with_blocking_event( [this, &opref](auto &&trigger) { - return osdmap_gate.wait_for_map( + return pg_shard_manager.wait_for_map( std::move(trigger), opref.get_epoch(), &shard_services diff --git a/src/crimson/osd/pg_shard_manager.h b/src/crimson/osd/pg_shard_manager.h index 571f5cdb47e8..bb0d5c7a8abc 100644 --- a/src/crimson/osd/pg_shard_manager.h +++ b/src/crimson/osd/pg_shard_manager.h @@ -47,6 +47,8 @@ public: } FORWARD_TO_CORE(send_pg_created) -}; + FORWARD(got_map, got_map, core_state.osdmap_gate) + FORWARD(wait_for_map, wait_for_map, core_state.osdmap_gate) +} } diff --git a/src/crimson/osd/shard_services.cc b/src/crimson/osd/shard_services.cc index 71c3c96ab852..26a758464d6f 100644 --- a/src/crimson/osd/shard_services.cc +++ b/src/crimson/osd/shard_services.cc @@ -50,6 +50,7 @@ CoreState::CoreState( crimson::os::FuturizedStore &store) : whoami(whoami), osdmap_service(osdmap_service), + osdmap_gate("CoreState::osdmap_gate"), cluster_msgr(cluster_msgr), public_msgr(public_msgr), monc(monc), diff --git a/src/crimson/osd/shard_services.h b/src/crimson/osd/shard_services.h index d3df2c8f794c..85d7f4a5fae2 100644 --- a/src/crimson/osd/shard_services.h +++ b/src/crimson/osd/shard_services.h @@ -126,6 +126,7 @@ class CoreState : public md_config_obs_t { void update_map(OSDMapService::cached_map_t new_osdmap) { osdmap = std::move(new_osdmap); } + OSD_OSDMapGate osdmap_gate; crimson::net::Messenger &cluster_msgr; crimson::net::Messenger &public_msgr;