From 91c0df812165d0b5ce95533060cafdaa834ab2dd Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 22 Jul 2019 11:58:40 -0500 Subject: [PATCH] crimson/osdmap_service: add get_mnow(), get_up_epoch() Signed-off-by: Sage Weil --- src/crimson/osd/osd.cc | 7 +++++++ src/crimson/osd/osd.h | 6 ++++++ src/crimson/osd/osdmap_service.h | 2 ++ 3 files changed, 15 insertions(+) diff --git a/src/crimson/osd/osd.cc b/src/crimson/osd/osd.cc index 4e9dca1a814..45921dcae3f 100644 --- a/src/crimson/osd/osd.cc +++ b/src/crimson/osd/osd.cc @@ -185,6 +185,8 @@ seastar::future<> OSD::start() { logger().info("start"); + startup_time = ceph::mono_clock::now(); + return store->mount().then([this] { meta_coll = make_unique(store->open_collection(coll_t::meta()), store.get()); @@ -526,6 +528,11 @@ MessageRef OSD::get_stats() return m; } +ceph::signedspan OSD::get_mnow() const +{ + return ceph::mono_clock::now() - startup_time; +} + OSD::cached_map_t OSD::get_map() const { return osdmap; diff --git a/src/crimson/osd/osd.h b/src/crimson/osd/osd.h index 1d12d70fbd2..97ebaf92af8 100644 --- a/src/crimson/osd/osd.h +++ b/src/crimson/osd/osd.h @@ -92,6 +92,8 @@ class OSD final : public ceph::net::Dispatcher, //< since when there is no more pending pg creates from mon epoch_t last_pg_create_epoch = 0; + ceph::mono_time startup_time; + OSDSuperblock superblock; // Dispatcher methods @@ -137,6 +139,10 @@ private: seastar::future<> _send_alive(); // OSDMapService methods + ceph::signedspan get_mnow() const final; + epoch_t get_up_epoch() const final { + return up_epoch; + } seastar::future get_map(epoch_t e) final; cached_map_t get_map() const final; seastar::future> load_map(epoch_t e); diff --git a/src/crimson/osd/osdmap_service.h b/src/crimson/osd/osdmap_service.h index 307d3e2843c..f50b7ac6c22 100644 --- a/src/crimson/osd/osdmap_service.h +++ b/src/crimson/osd/osdmap_service.h @@ -16,4 +16,6 @@ public: virtual seastar::future get_map(epoch_t e) = 0; /// get the latest map virtual cached_map_t get_map() const = 0; + virtual ceph::signedspan get_mnow() const = 0; + virtual epoch_t get_up_epoch() const = 0; }; -- 2.39.5