]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/osd: move hb_stamps to PerShardState
authorSamuel Just <sjust@redhat.com>
Tue, 30 Aug 2022 22:01:04 +0000 (22:01 +0000)
committerSamuel Just <sjust@redhat.com>
Tue, 27 Sep 2022 02:35:41 +0000 (19:35 -0700)
We may later need to syncronize this across cores, perhaps during tick.
This should work for now, however.

Signed-off-by: Samuel Just <sjust@redhat.com>
src/crimson/osd/shard_services.cc
src/crimson/osd/shard_services.h

index 912ac8faae5ec6bdfc4a5b28e1f4ffc5b6c48071..aadc55fea958ab1a3210e3dc4427b47122c68100 100644 (file)
@@ -94,6 +94,15 @@ Ref<PG> 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<HeartbeatStamps>(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<HeartbeatStamps>(peer);
-  }
-  return stamps->second;
-}
-
 seastar::future<> OSDSingletonState::send_alive(const epoch_t want)
 {
   logger().info(
index f872abe3611e2022fbc52e5b2dd8714ad20b602f..54b62dcb2d7f0456fe2f0319f517de0db21a1466 100644 (file)
@@ -129,6 +129,9 @@ class PerShardState {
     return next_tid++;
   }
 
+  HeartbeatStampsRef get_hb_stamps(int peer);
+  std::map<int, HeartbeatStampsRef> 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<int, HeartbeatStampsRef> 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)