]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/osd_types: add purged_snaps_last to OSDSuperblock
authorSage Weil <sage@redhat.com>
Fri, 7 Jun 2019 18:48:49 +0000 (13:48 -0500)
committerSage Weil <sage@redhat.com>
Tue, 2 Jul 2019 13:37:50 +0000 (08:37 -0500)
Make this 0 for old encodings or new superblocks.

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

index 5f3c51705959fde185daead0237cc2d7d1c37cc7..41279e0a3e40677c42da7da6a4808cf634540ecf 100644 (file)
@@ -5201,7 +5201,7 @@ void pg_hit_set_history_t::generate_test_instances(list<pg_hit_set_history_t*>&
 
 void OSDSuperblock::encode(ceph::buffer::list &bl) const
 {
-  ENCODE_START(8, 5, bl);
+  ENCODE_START(9, 5, bl);
   encode(cluster_fsid, bl);
   encode(whoami, bl);
   encode(current_epoch, bl);
@@ -5214,12 +5214,13 @@ void OSDSuperblock::encode(ceph::buffer::list &bl) const
   encode(osd_fsid, bl);
   encode((epoch_t)0, bl);  // epoch_t last_epoch_marked_full
   encode((uint32_t)0, bl);  // map<int64_t,epoch_t> pool_last_epoch_marked_full
+  encode(purged_snaps_last, bl);
   ENCODE_FINISH(bl);
 }
 
 void OSDSuperblock::decode(ceph::buffer::list::const_iterator &bl)
 {
-  DECODE_START_LEGACY_COMPAT_LEN(8, 5, 5, bl);
+  DECODE_START_LEGACY_COMPAT_LEN(9, 5, 5, bl);
   if (struct_v < 3) {
     string magic;
     decode(magic, bl);
@@ -5247,6 +5248,11 @@ void OSDSuperblock::decode(ceph::buffer::list::const_iterator &bl)
     map<int64_t,epoch_t> pool_last_map_marked_full;
     decode(pool_last_map_marked_full, bl);
   }
+  if (struct_v >= 9) {
+    decode(purged_snaps_last, bl);
+  } else {
+    purged_snaps_last = 0;
+  }
   DECODE_FINISH(bl);
 }
 
@@ -5264,6 +5270,7 @@ void OSDSuperblock::dump(Formatter *f) const
   f->close_section();
   f->dump_int("clean_thru", clean_thru);
   f->dump_int("last_epoch_mounted", mounted);
+  f->dump_unsigned("purged_snaps_last", purged_snaps_last);
 }
 
 void OSDSuperblock::generate_test_instances(list<OSDSuperblock*>& o)
index bea8bab0ad94e2d151c6879618cd6b3aef3b3c64..a1f321b95086b34b5a00d4faadba1bef0607f1ea 100644 (file)
@@ -4994,6 +4994,7 @@ public:
   epoch_t mounted = 0;     // last epoch i mounted
   epoch_t clean_thru = 0;  // epoch i was active and clean thru
 
+  epoch_t purged_snaps_last = 0;
 
   void encode(ceph::buffer::list &bl) const;
   void decode(ceph::buffer::list::const_iterator &bl);