]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: include up_from, seq in osd_stat_t
authorSage Weil <sage@redhat.com>
Thu, 18 May 2017 20:10:32 +0000 (16:10 -0400)
committerSage Weil <sage@redhat.com>
Fri, 2 Jun 2017 17:02:44 +0000 (13:02 -0400)
Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/OSD.h
src/osd/osd_types.cc
src/osd/osd_types.h

index 4897942aaa32d9ce01a8a1e19803ac7e669de158..d8782ce906f1b94906e18d6d6e55e7a211be0515 100644 (file)
@@ -1151,6 +1151,8 @@ public:
   void update_osd_stat(vector<int>& hb_peers);
   osd_stat_t get_osd_stat() {
     Mutex::Locker l(stat_lock);
+    osd_stat.up_from = up_epoch;
+    ++osd_stat.seq;
     return osd_stat;
   }
 
index 49b4e2fa9ab30868a18297dbeb200f8bf531b277..029a32954325926d2eb0ecd44777534618f37b36 100644 (file)
@@ -306,6 +306,8 @@ void objectstore_perf_stat_t::generate_test_instances(std::list<objectstore_perf
 // -- osd_stat_t --
 void osd_stat_t::dump(Formatter *f) const
 {
+  f->dump_unsigned("up_from", up_from);
+  f->dump_unsigned("seq", seq);
   f->dump_unsigned("kb", kb);
   f->dump_unsigned("kb_used", kb_used);
   f->dump_unsigned("kb_avail", kb_avail);
@@ -325,7 +327,7 @@ void osd_stat_t::dump(Formatter *f) const
 
 void osd_stat_t::encode(bufferlist &bl) const
 {
-  ENCODE_START(5, 2, bl);
+  ENCODE_START(6, 2, bl);
   ::encode(kb, bl);
   ::encode(kb_used, bl);
   ::encode(kb_avail, bl);
@@ -335,12 +337,14 @@ void osd_stat_t::encode(bufferlist &bl) const
   ::encode((uint32_t)0, bl);
   ::encode(op_queue_age_hist, bl);
   ::encode(os_perf_stat, bl);
+  ::encode(up_from, bl);
+  ::encode(seq, bl);
   ENCODE_FINISH(bl);
 }
 
 void osd_stat_t::decode(bufferlist::iterator &bl)
 {
-  DECODE_START_LEGACY_COMPAT_LEN(5, 2, 2, bl);
+  DECODE_START_LEGACY_COMPAT_LEN(6, 2, 2, bl);
   ::decode(kb, bl);
   ::decode(kb_used, bl);
   ::decode(kb_avail, bl);
@@ -353,6 +357,10 @@ void osd_stat_t::decode(bufferlist::iterator &bl)
     ::decode(op_queue_age_hist, bl);
   if (struct_v >= 4)
     ::decode(os_perf_stat, bl);
+  if (struct_v >= 6) {
+    ::decode(up_from, bl);
+    ::decode(seq, bl);
+  }
   DECODE_FINISH(bl);
 }
 
index 437c7831a311e88c773db8bc66ae83ecf7ee1e97..4c4f98c705e00d80f34d0ff53f8de373d834e38c 100644 (file)
@@ -892,6 +892,9 @@ struct osd_stat_t {
 
   objectstore_perf_stat_t os_perf_stat;
 
+  epoch_t up_from = 0;
+  uint64_t seq = 0;
+
   osd_stat_t() : kb(0), kb_used(0), kb_avail(0),
                 snap_trim_queue_len(0), num_snap_trimming(0) {}