]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: Adapt multithread recovery
authorAdam Kupczyk <akupczyk@ibm.com>
Mon, 7 Jul 2025 07:24:42 +0000 (07:24 +0000)
committerAdam Kupczyk <akupczyk@ibm.com>
Mon, 8 Jun 2026 17:04:29 +0000 (17:04 +0000)
Adapt multithread recovery to modified ExtentDecoder interface.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
src/os/bluestore/OnodeScan.cc

index e6f148ce4a72d445460c01cefcd1ae60ce4b1236..5be25eb4b35c92d18dced800836702239b3527e5 100644 (file)
@@ -69,6 +69,8 @@ class BlueStore::Decoder_AllocationsAndStatFS : public BlueStore::ExtentMap::Ext
   void _consume_new_blob(bool spanning, uint64_t extent_no, uint64_t sbid, BlobRef b);
 
 protected:
+  BlobRef decode_create_blob(
+  bptr_c_it_t& p, __u8 struct_v, uint64_t* sbid, bool include_ref_map, Collection* c) override;
   void consume_blobid(Extent *, bool spanning, uint64_t blobid) override;
   void consume_blob(Extent *le, uint64_t extent_no, uint64_t sbid, BlobRef b) override;
   void consume_spanning_blob(uint64_t sbid, BlobRef b) override;
@@ -91,6 +93,17 @@ public:
   void reset_new_shard();
 };
 
+BlueStore::BlobRef BlueStore::Decoder_AllocationsAndStatFS::decode_create_blob(
+  bptr_c_it_t& p,
+  __u8 struct_v,
+  uint64_t* sbid,
+  bool include_ref_map,
+  Collection* c) {
+  BlobRef b = c ? c->new_blob() : new Blob(nullptr);
+  b->decode<true>(p, struct_v, sbid, include_ref_map, c);
+  return b;
+}
+
 void BlueStore::Decoder_AllocationsAndStatFS::_consume_new_blob(
   bool spanning,
   uint64_t extent_no,