}).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();