]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
os/bluestore: Refactor of write path. New punch_hole_2 function.
authorAdam Kupczyk <akupczyk@ibm.com>
Tue, 14 Nov 2023 16:25:01 +0000 (16:25 +0000)
committerAdam Kupczyk <akupczyk@ibm.com>
Wed, 7 Aug 2024 10:55:45 +0000 (10:55 +0000)
commit93bb26360a66535272ac77129b20089bb194369a
treeb4e385f50b02d20087d531f6a6699915f6b391bc
parent1f6fc570abb6e20f08aeb724e1003ea7bb36b292
os/bluestore: Refactor of write path. New punch_hole_2 function.

Introducing new logic of Onode processing during write.
New punch_hole_2 function empties range, but keeps track of elements:
- allocations that are no longer used
- blobs that are now empty
- shared blobs that got modified
- statfs changes to apply later

This change allows to reuse allocation for deferred freely, which means
that we can use allocations in deferred mode in other blob then they come from.

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