]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mon/PGMap: encode delta info in digest
authorSage Weil <sage@redhat.com>
Tue, 23 May 2017 13:43:36 +0000 (09:43 -0400)
committerSage Weil <sage@redhat.com>
Fri, 2 Jun 2017 17:02:53 +0000 (13:02 -0400)
It was already in PGMapDigest, but not encoded.

One field we didn't need; move that back to PGMap.

Signed-off-by: Sage Weil <sage@redhat.com>
src/mon/PGMap.cc
src/mon/PGMap.h

index da0b5157d075c840aa10a6504fb8a36f36c93e32..018a31255df7ba9d712035935d84f4e2f8cd5e9f 100644 (file)
@@ -25,7 +25,7 @@ MEMPOOL_DEFINE_OBJECT_FACTORY(PGMap::Incremental, pgmap_inc, pgmap);
 void PGMapDigest::encode(bufferlist& bl, uint64_t features) const
 {
   // NOTE: see PGMap::encode_digest
-  ENCODE_START(3, 1, bl);
+  ENCODE_START(4, 1, bl);
   ::encode(num_pg, bl);
   ::encode(num_pg_active, bl);
   ::encode(num_osd, bl);
@@ -37,12 +37,16 @@ void PGMapDigest::encode(bufferlist& bl, uint64_t features) const
   ::encode(num_pg_by_osd, bl);
   ::encode(osd_last_seq, bl);
   ::encode(num_pg_by_pool, bl);
+  ::encode(per_pool_sum_delta, bl, features);
+  ::encode(per_pool_sum_deltas_stamps, bl);
+  ::encode(pg_sum_delta, bl, features);
+  ::encode(stamp_delta, bl);
   ENCODE_FINISH(bl);
 }
 
 void PGMapDigest::decode(bufferlist::iterator& p)
 {
-  DECODE_START(3, p);
+  DECODE_START(4, p);
   ::decode(num_pg, p);
   ::decode(num_pg_active, p);
   ::decode(num_osd, p);
@@ -66,6 +70,12 @@ void PGMapDigest::decode(bufferlist::iterator& p)
   if (struct_v >= 3) {
     ::decode(num_pg_by_pool, p);
   }
+  if (struct_v >= 4) {
+    ::decode(per_pool_sum_delta, p);
+    ::decode(per_pool_sum_deltas_stamps, p);
+    ::decode(pg_sum_delta, p);
+    ::decode(stamp_delta, p);
+  }
   DECODE_FINISH(p);
 }
 
index 178e427dd8ff109a65a36bf3d7ee1c0612c7a940..01f78062bc59a2f702de14593fb2e847bcdee3d8 100644 (file)
@@ -85,7 +85,6 @@ public:
    */
   mempool::pgmap::unordered_map<uint64_t, pair<pool_stat_t,utime_t> > per_pool_sum_delta;
 
-  mempool::pgmap::list< pair<pool_stat_t, utime_t> > pg_sum_deltas;
   pool_stat_t pg_sum_delta;
   utime_t stamp_delta;
 
@@ -286,6 +285,7 @@ public:
   mutable epoch_t min_last_epoch_clean = 0;
   mempool::pgmap::unordered_map<int,set<pg_t> > pg_by_osd;
   mempool::pgmap::unordered_map<int,int> blocked_by_sum;
+  mempool::pgmap::list< pair<pool_stat_t, utime_t> > pg_sum_deltas;
 
   utime_t stamp;