const string& get_compression_type(const string& placement_rule) const;
void encode(bufferlist& bl) const override {
- ENCODE_START(10, 1, bl);
+ ENCODE_START(12, 1, bl);
encode(domain_root, bl);
encode(control_pool, bl);
encode(gc_pool, bl);
encode(metadata_heap, bl);
encode(realm_id, bl);
encode(lc_pool, bl);
- encode(tier_config, bl);
+ map<string, string, ltstr_nocase> old_tier_config;
+ encode(old_tier_config, bl);
encode(roles_pool, bl);
encode(reshard_pool, bl);
encode(otp_pool, bl);
+ encode(tier_config, bl);
ENCODE_FINISH(bl);
}
void decode(bufferlist::iterator& bl) override {
- DECODE_START(10, bl);
+ DECODE_START(12, bl);
decode(domain_root, bl);
decode(control_pool, bl);
decode(gc_pool, bl);
} else {
lc_pool = log_pool.name + ":lc";
}
+ map<string, string, ltstr_nocase> old_tier_config;
if (struct_v >= 8) {
- decode(tier_config, bl);
+ decode(old_tier_config, bl);
}
if (struct_v >= 9) {
decode(roles_pool, bl);
} else {
otp_pool = name + ".rgw.otp";
}
+ if (struct_v >= 12) {
+ ::decode(tier_config, bl);
+ } else {
+ for (auto& kv : old_tier_config) {
+ tier_config.set(kv.first, kv.second);
+ }
+ }
DECODE_FINISH(bl);
}
void dump(Formatter *f) const;