]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
os/bluestore: Add new onode recovery method
authorAdam Kupczyk <akupczyk@ibm.com>
Tue, 1 Jul 2025 13:47:14 +0000 (13:47 +0000)
committerAdam Kupczyk <akupczyk@ibm.com>
Mon, 8 Jun 2026 17:04:28 +0000 (17:04 +0000)
commit2bf2dddb5b7612c1d0503bb12ea1b6b8f96a4eab
tree414f31d100306529d1ada0cf5863457d37dcec53
parente0bf7dede5a64e3bbcde2fe496992c5eea21284e
os/bluestore: Add new onode recovery method

Added read_allocation_from_onodes_mt function
  (originally copied from read_allocation_from_onodes).
Added Decoder_AllocationsAndStatFS class
  (originally copied from ExtentDecoderpartial).

There are significant differences from originals:
- shared blobs are not scanned at all
- to not account allocations more than once,
  collisions are detected on SimpleBitmap level;
  only the first onode referencing shared blob will mark allocation
- Blobs are not preserved
- instead we remember only if blob or spanning blob was compressed

The underlying logic is make recovery faster and prepare for
multithread refactor.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
src/crimson/os/alienstore/CMakeLists.txt
src/os/bluestore/BlueStore.cc
src/os/bluestore/BlueStore.h
src/os/bluestore/CMakeLists.txt
src/os/bluestore/OnodeScan.cc [new file with mode: 0644]