]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
RadosDump: accommodate new past_intervals encoding
authorSamuel Just <sjust@redhat.com>
Fri, 20 Jan 2017 20:37:33 +0000 (12:37 -0800)
committerSage Weil <sage@redhat.com>
Fri, 28 Apr 2017 15:30:38 +0000 (11:30 -0400)
Signed-off-by: Samuel Just <sjust@redhat.com>
src/tools/RadosDump.h

index 1ee13adf33a39a9cd96463aadd21f4eee4b0a406..6ad43f7aa63b0a48791ce89e3a39f8bb68080a8d 100644 (file)
@@ -308,7 +308,7 @@ struct metadata_section {
       map_epoch(0) { }
 
   void encode(bufferlist& bl) const {
-    ENCODE_START(5, 1, bl);
+    ENCODE_START(6, 6, bl);
     ::encode(struct_ver, bl);
     ::encode(map_epoch, bl);
     ::encode(info, bl);
@@ -322,13 +322,15 @@ struct metadata_section {
     ENCODE_FINISH(bl);
   }
   void decode(bufferlist::iterator& bl) {
-    DECODE_START(5, bl);
+    DECODE_START(6, bl);
     ::decode(struct_ver, bl);
     ::decode(map_epoch, bl);
     ::decode(info, bl);
     ::decode(log, bl);
-    if (struct_v > 1) {
+    if (struct_v >= 6) {
       ::decode(past_intervals, bl);
+    } else if (struct_v > 1) {
+      past_intervals.decode_classic(bl);
     } else {
       cout << "NOTICE: Older export without past_intervals" << std::endl;
     }