]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
crimson/os/seastore/transaction: add interfaces for seperated Transaction::do_add_to_...
authorXuehan Xu <xuxuehan@qianxin.com>
Wed, 23 Apr 2025 02:51:19 +0000 (10:51 +0800)
committerXuehan Xu <xuxuehan@qianxin.com>
Fri, 30 May 2025 05:27:55 +0000 (13:27 +0800)
commit4328521894f9ff29f03e9fedee0f9667ae73205f
tree734fee76eee5ce54383d0ba7ed0cff4af1229019
parent2388ab106df233284dfaef2ac663324a34adfcbd
crimson/os/seastore/transaction: add interfaces for seperated Transaction::do_add_to_read_set()

The current implementation of Transaction::do_add_to_read_set() can
be seperated into two steps:
1. attach the extent to the transaction, i.e. insert the extent into the
   transaction's read_set
2. attach the transaction to the extent, i.e. insert the transaction
   into the extent's read_transactions

For initial pending and stable writing extents, we need to do the second
step before doing "CachedExtent::wait_io()" and to do the first step
after "CachedExtent::wait_io()". This commit add interfaces
corresponding to those two steps.

Fixes: https://tracker.ceph.com/issues/70976
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
src/crimson/os/seastore/cached_extent.h
src/crimson/os/seastore/transaction.h