void pg_pool_t::decode(bufferlist::iterator& bl)
{
- DECODE_START_LEGACY_COMPAT_LEN(24, 5, 5, bl);
+ DECODE_START_LEGACY_COMPAT_LEN(25, 5, 5, bl);
::decode(type, bl);
::decode(size, bl);
::decode(crush_ruleset, bl);
::encode(expected_object_size, bl);
::encode(expected_write_size, bl);
::encode(alloc_hint_flags, bl);
- ::encode(manifest, bl);
+ if (has_manifest()) {
+ ::encode(manifest, bl);
+ }
ENCODE_FINISH(bl);
}
void object_info_t::decode(bufferlist::iterator& bl)
{
object_locator_t myoloc;
- DECODE_START_LEGACY_COMPAT_LEN(16, 8, 8, bl);
+ DECODE_START_LEGACY_COMPAT_LEN(17, 8, 8, bl);
map<entity_name_t, watch_info_t> old_watchers;
::decode(soid, bl);
::decode(myoloc, bl);
alloc_hint_flags = 0;
}
if (struct_v >= 17) {
- ::decode(manifest, bl);
+ if (has_manifest()) {
+ ::decode(manifest, bl);
+ }
}
DECODE_FINISH(bl);
}
s += "|omap_digest";
if (flags & FLAG_CACHE_PIN)
s += "|cache_pin";
+ if (flags & FLAG_MANIFEST)
+ s += "|manifest";
if (s.length())
return s.substr(1);
return s;
return test_flag(FLAG_CACHE_PIN);
}
bool has_manifest() const {
- return !manifest.is_empty();
+ return test_flag(FLAG_MANIFEST);
}
void set_data_digest(__u32 d) {