]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
osd: add get_mnow() interface to OSDService, PG, PeeringState
authorSage Weil <sage@redhat.com>
Thu, 18 Jul 2019 19:27:54 +0000 (14:27 -0500)
committerSage Weil <sage@redhat.com>
Mon, 5 Aug 2019 18:34:14 +0000 (13:34 -0500)
Single helper to provide a monotonic time offset from startup_time.

Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/OSD.cc
src/osd/OSD.h
src/osd/PG.cc
src/osd/PG.h
src/osd/PeeringState.h

index f3c975c48d9ab3bda8cb16b0dd10b4706d5df7db..83d2e50643b902ad922e6eb74258800aa45f1228 100644 (file)
@@ -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,
index 5ac1348e77bf5671b16403d3749a7fd5c5a9fae2..6b144885e55539ff99ca019061abbc95fe7b2252 100644 (file)
@@ -138,6 +138,8 @@ public:
     }
   }
 
+  ceph::signedspan get_mnow();
+
 private:
   // -- superblock --
   ceph::mutex publish_lock, pre_publish_lock; // pre-publish orders before publish
index 238698da13c39f4c8fa34fda106d7418a7fca11f..a829a778c85e0b794d8ebe509d1f84f9499e5cee 100644 (file)
@@ -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(
index 7482add43971c05cecdf1cf3aaf100652bccca3a..6c5963f763829018fb4b7f7b1fbeb991f2f37fae 100644 (file)
@@ -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);
index 46abe1af0354763586adc01e74114f0a4ccf88b1..3093697572227c3f4cd7c4d7aacbe9b4288c796b 100644 (file)
@@ -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()