]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
crimson/os/seastore: update TransactionManager::get_extent_if_live
authorzhscn <zhangsong325@gmail.com>
Wed, 29 Jun 2022 12:26:54 +0000 (20:26 +0800)
committerZhang Song <zhangsong325@gmail.com>
Mon, 11 Jul 2022 02:23:37 +0000 (10:23 +0800)
commitec90bcbfec5a26563ae2b9abc1d1d31d901c0a27
treedda159e6ec14b8c48a037fd12785938f11c14aec
parentd352cac9abe6c44efb17049d8a9d79a42f4b090a
crimson/os/seastore: update TransactionManager::get_extent_if_live

TransactionManager::get_extents_if_live should return a list of
extents that are located in range paddr~len. When SegmentCleaner
invokes get_extents_if_live, the target extent may have been split into
multiple pieces by other transaction, so only search the paddr as key
will lose other pieces need to be rewritten.

Signed-off-by: Zhang Song <zhangsong325@gmail.com>
src/crimson/os/seastore/async_cleaner.cc
src/crimson/os/seastore/async_cleaner.h
src/crimson/os/seastore/transaction_manager.cc
src/crimson/os/seastore/transaction_manager.h