bl.append("bluestore block device\n");
bl.append(stringify(osd_uuid));
bl.append("\n");
- ENCODE_START(1, 1, bl);
+ ENCODE_START(2, 1, bl);
::encode(osd_uuid, bl);
::encode(size, bl);
::encode(btime, bl);
::encode(description, bl);
+ ::encode(meta, bl);
ENCODE_FINISH(bl);
}
void bluestore_bdev_label_t::decode(bufferlist::iterator& p)
{
p.advance(60); // see above
- DECODE_START(1, p);
+ DECODE_START(2, p);
::decode(osd_uuid, p);
::decode(size, p);
::decode(btime, p);
::decode(description, p);
+ if (struct_v >= 2) {
+ ::decode(meta, p);
+ }
DECODE_FINISH(p);
}
f->dump_unsigned("size", size);
f->dump_stream("btime") << btime;
f->dump_string("description", description);
+ for (auto& i : meta) {
+ f->dump_string(i.first.c_str(), i.second);
+ }
}
void bluestore_bdev_label_t::generate_test_instances(
o.back()->size = 123;
o.back()->btime = utime_t(4, 5);
o.back()->description = "fakey";
+ o.back()->meta["foo"] = "bar";
}
ostream& operator<<(ostream& out, const bluestore_bdev_label_t& l)
{
return out << "bdev(osd_uuid " << l.osd_uuid
- << " size 0x" << std::hex << l.size << std::dec
- << " btime " << l.btime
- << " desc " << l.description << ")";
+ << ", size 0x" << std::hex << l.size << std::dec
+ << ", btime " << l.btime
+ << ", desc " << l.description
+ << ", " << l.meta.size() << " meta"
+ << ")";
}
// cnode_t