diff --git a/src/crimson/osd/shard_services.cc b/src/crimson/osd/shard_services.cc index e41b77ac27a..f727c66ca24 100644 --- a/src/crimson/osd/shard_services.cc +++ b/src/crimson/osd/shard_services.cc @@ -239,8 +239,11 @@ seastar::future<> ShardServices::osdmap_subscribe(version_t epoch, bool force_re HeartbeatStampsRef ShardServices::get_hb_stamps(int peer) { -#warning writeme - return HeartbeatStampsRef(); + auto [stamps, added] = heartbeat_stamps.try_emplace(peer); + if (added) { + stamps->second = ceph::make_ref(peer); + } + return stamps->second; } }; diff --git a/src/crimson/osd/shard_services.h b/src/crimson/osd/shard_services.h index d9a2112b6b2..407fa8a3643 100644 --- a/src/crimson/osd/shard_services.h +++ b/src/crimson/osd/shard_services.h @@ -157,6 +157,7 @@ public: return ceph::mono_clock::now() - startup_time; } HeartbeatStampsRef get_hb_stamps(int peer); + std::map heartbeat_stamps; };