From: Yingxin Cheng Date: Wed, 28 Oct 2020 07:45:20 +0000 (+0800) Subject: crimson/os/seastore/transaction_manager: use weak transaction when initialize cached... X-Git-Tag: v16.1.0~742^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4f2f4f4ab0dab3eb76252e735f3f457411fea4d0;p=ceph-ci.git crimson/os/seastore/transaction_manager: use weak transaction when initialize cached extents Signed-off-by: Yingxin Cheng --- diff --git a/src/crimson/os/seastore/transaction_manager.cc b/src/crimson/os/seastore/transaction_manager.cc index 76517055fd3..d8b543d2dfd 100644 --- a/src/crimson/os/seastore/transaction_manager.cc +++ b/src/crimson/os/seastore/transaction_manager.cc @@ -70,31 +70,25 @@ TransactionManager::mount_ertr::future<> TransactionManager::mount() }).safe_then([this](auto addr) { segment_cleaner.set_journal_head(addr); return seastar::do_with( - create_transaction(), + make_weak_transaction(), [this](auto &t) { return cache.init_cached_extents(*t, [this](auto &t, auto &e) { return lba_manager.init_cached_extent(t, e); - }).safe_then([this, &t]() mutable { - return submit_transaction(std::move(t)); - }); - }); - }).safe_then([this] { - return seastar::do_with( - make_weak_transaction(), - [this](auto &t) { - assert(segment_cleaner.debug_check_space( - *segment_cleaner.get_empty_space_tracker())); - return lba_manager.scan_mapped_space( - *t, - [this](paddr_t addr, extent_len_t len) { - logger().debug("TransactionManager::mount: marking {}~{} used", - addr, - len); - segment_cleaner.mark_space_used( - addr, - len , - /* init_scan = */ true); - }); + }).safe_then([this, &t] { + assert(segment_cleaner.debug_check_space( + *segment_cleaner.get_empty_space_tracker())); + return lba_manager.scan_mapped_space( + *t, + [this](paddr_t addr, extent_len_t len) { + logger().debug("TransactionManager::mount: marking {}~{} used", + addr, + len); + segment_cleaner.mark_space_used( + addr, + len , + /* init_scan = */ true); + }); + }); }); }).safe_then([this] { segment_cleaner.complete_init();