From aeee4bc8cefb9fce2c315c223259a013dd33fa6c Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Fri, 20 Jan 2017 12:37:33 -0800 Subject: [PATCH] RadosDump: accommodate new past_intervals encoding Signed-off-by: Samuel Just --- src/tools/RadosDump.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/tools/RadosDump.h b/src/tools/RadosDump.h index 1ee13adf33a3..6ad43f7aa63b 100644 --- a/src/tools/RadosDump.h +++ b/src/tools/RadosDump.h @@ -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; } -- 2.47.3