From: Samuel Just Date: Tue, 30 Aug 2022 22:01:04 +0000 (+0000) Subject: crimson/osd: move hb_stamps to PerShardState X-Git-Tag: v18.1.0~1115^2~19 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=582bbd5ee1039b9c0dc0b1faa1fed1b59c2d2813;p=ceph.git crimson/osd: move hb_stamps to PerShardState We may later need to syncronize this across cores, perhaps during tick. This should work for now, however. Signed-off-by: Samuel Just --- diff --git a/src/crimson/osd/shard_services.cc b/src/crimson/osd/shard_services.cc index 912ac8faae5e..aadc55fea958 100644 --- a/src/crimson/osd/shard_services.cc +++ b/src/crimson/osd/shard_services.cc @@ -94,6 +94,15 @@ Ref PerShardState::get_pg(spg_t pgid) return pg_map.get_pg(pgid); } +HeartbeatStampsRef PerShardState::get_hb_stamps(int peer) +{ + auto [stamps, added] = heartbeat_stamps.try_emplace(peer); + if (added) { + stamps->second = ceph::make_ref(peer); + } + return stamps->second; +} + OSDSingletonState::OSDSingletonState( int whoami, crimson::net::Messenger &cluster_msgr, @@ -257,15 +266,6 @@ void OSDSingletonState::prune_pg_created() } } -HeartbeatStampsRef OSDSingletonState::get_hb_stamps(int peer) -{ - auto [stamps, added] = heartbeat_stamps.try_emplace(peer); - if (added) { - stamps->second = ceph::make_ref(peer); - } - return stamps->second; -} - seastar::future<> OSDSingletonState::send_alive(const epoch_t want) { logger().info( diff --git a/src/crimson/osd/shard_services.h b/src/crimson/osd/shard_services.h index f872abe3611e..54b62dcb2d7f 100644 --- a/src/crimson/osd/shard_services.h +++ b/src/crimson/osd/shard_services.h @@ -129,6 +129,9 @@ class PerShardState { return next_tid++; } + HeartbeatStampsRef get_hb_stamps(int peer); + std::map heartbeat_stamps; + public: PerShardState( int whoami, @@ -224,9 +227,6 @@ public: return ceph::mono_clock::now() - startup_time; } - HeartbeatStampsRef get_hb_stamps(int peer); - std::map heartbeat_stamps; - struct DirectFinisher { void queue(Context *c) { c->complete(0); @@ -388,7 +388,7 @@ public: FORWARD_TO_OSD_SINGLETON(send_alive) FORWARD_TO_OSD_SINGLETON(send_pg_temp) FORWARD_CONST(get_mnow, get_mnow, osd_singleton_state) - FORWARD_TO_OSD_SINGLETON(get_hb_stamps) + FORWARD_TO_LOCAL(get_hb_stamps) FORWARD(pg_created, pg_created, local_state.pg_map)