]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/os/bluestore/bluestore_types.cc
update sources to 12.2.2
[ceph.git] / ceph / src / os / bluestore / bluestore_types.cc
index 9fb7ce84b626f00bcc28fc5e9074600eddebf8f2..06f64d21d4b34b318525f464af2fa29ddec1ef48 100644 (file)
@@ -47,22 +47,26 @@ void bluestore_bdev_label_t::encode(bufferlist& bl) const
   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);
 }
 
@@ -72,6 +76,9 @@ void bluestore_bdev_label_t::dump(Formatter *f) const
   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(
@@ -82,14 +89,17 @@ 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