]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
crimson/os/seastore: fix data inconsistency during ool writes 59720/head
authormyoungwon oh <ohmyoungwon@gmail.com>
Wed, 11 Sep 2024 06:04:30 +0000 (06:04 +0000)
committermyoungwon oh <ohmyoungwon@gmail.com>
Fri, 27 Sep 2024 07:44:25 +0000 (07:44 +0000)
commit829c857b9e1be3a4133f088f63950e961ecce67e
tree050a849c74c44f108dc8d5e753b0aa71821f5896
parent0d61375b8ab53be4c233f5b93e463edfdff9316a
crimson/os/seastore: fix data inconsistency during ool writes

In RBM, seastore issues ool writes with allocated address.
If a transaction conflict occurs at this point, the allocated address is freed,
allowing the address to be reused.
However, data inconsistency can occur if seastore issues ool writes with
freed address before the preceding ool write has not been complete.

To fix this issue, this commit frees the allocated address after ool writes is
don in the event of the transaction conflict after ool write is issued.

Signed-off-by: Myoungwon Oh <myoungwon.oh@samsung.com>
src/crimson/os/seastore/cache.cc
src/crimson/os/seastore/extent_placement_manager.cc
src/crimson/os/seastore/transaction.h