From 3138e195fae494e36dfd4d11630fd3f20cd80f3d Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Mon, 30 Sep 2019 16:20:37 +0800 Subject: [PATCH] crimson/osd: implement ShardServices::get_hb_stamps() PeeringState::proc_lease() requires a valid hb_stamps[0], which is in turned maintained by `pl`. Signed-off-by: Kefu Chai --- src/crimson/osd/shard_services.cc | 7 +++++-- src/crimson/osd/shard_services.h | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/crimson/osd/shard_services.cc b/src/crimson/osd/shard_services.cc index e41b77ac27a0c..f727c66ca24a6 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 d9a2112b6b23c..407fa8a364341 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; }; -- 2.39.5