From c5a7cb0a7db21c8336c6ae9869f15c1425c1448b Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 18 Jul 2019 14:27:54 -0500 Subject: [PATCH] osd: add get_mnow() interface to OSDService, PG, PeeringState Single helper to provide a monotonic time offset from startup_time. Signed-off-by: Sage Weil --- src/osd/OSD.cc | 4 ++++ src/osd/OSD.h | 2 ++ src/osd/PG.cc | 5 +++++ src/osd/PG.h | 2 ++ src/osd/PeeringState.h | 2 ++ 5 files changed, 15 insertions(+) diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index f3c975c48d9..83d2e50643b 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -321,6 +321,10 @@ void OSDService::dump_live_pgids() #endif +ceph::signedspan OSDService::get_mnow() +{ + return ceph::mono_clock::now() - osd->startup_time; +} void OSDService::identify_splits_and_merges( OSDMapRef old_map, diff --git a/src/osd/OSD.h b/src/osd/OSD.h index 5ac1348e77b..6b144885e55 100644 --- a/src/osd/OSD.h +++ b/src/osd/OSD.h @@ -138,6 +138,8 @@ public: } } + ceph::signedspan get_mnow(); + private: // -- superblock -- ceph::mutex publish_lock, pre_publish_lock; // pre-publish orders before publish diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 238698da13c..a829a778c85 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -1800,6 +1800,11 @@ void PG::send_pg_created(pg_t pgid) osd->send_pg_created(pgid); } +ceph::signedspan PG::get_mnow() +{ + return osd->get_mnow(); +} + void PG::rebuild_missing_set_with_deletes(PGLog &pglog) { pglog.rebuild_missing_set_with_deletes( diff --git a/src/osd/PG.h b/src/osd/PG.h index 7482add4397..6c5963f7638 100644 --- a/src/osd/PG.h +++ b/src/osd/PG.h @@ -478,6 +478,8 @@ public: void send_pg_created(pg_t pgid) override; + ceph::signedspan get_mnow() override; + void rebuild_missing_set_with_deletes(PGLog &pglog) override; void queue_peering_event(PGPeeringEventRef evt); diff --git a/src/osd/PeeringState.h b/src/osd/PeeringState.h index 46abe1af035..30936975722 100644 --- a/src/osd/PeeringState.h +++ b/src/osd/PeeringState.h @@ -124,6 +124,8 @@ public: /// Send pg_created to mon virtual void send_pg_created(pg_t pgid) = 0; + virtual ceph::signedspan get_mnow() = 0; + // ============ Flush state ================== /** * try_flush_or_schedule_async() -- 2.39.5