From: Adam Kupczyk Date: Mon, 7 Jul 2025 07:24:42 +0000 (+0000) Subject: os/bluestore: Adapt multithread recovery X-Git-Tag: v21.0.1~8^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a2e33b76e7e832357e7622b3ca4a9e2249688a3f;p=ceph.git os/bluestore: Adapt multithread recovery Adapt multithread recovery to modified ExtentDecoder interface. Signed-off-by: Adam Kupczyk --- diff --git a/src/os/bluestore/OnodeScan.cc b/src/os/bluestore/OnodeScan.cc index e6f148ce4a7..5be25eb4b35 100644 --- a/src/os/bluestore/OnodeScan.cc +++ b/src/os/bluestore/OnodeScan.cc @@ -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(p, struct_v, sbid, include_ref_map, c); + return b; +} + void BlueStore::Decoder_AllocationsAndStatFS::_consume_new_blob( bool spanning, uint64_t extent_no,