From: Yingxin Cheng Date: Mon, 15 Aug 2022 03:31:41 +0000 (+0800) Subject: crimson/os/seastore/transaction_manager: don't return invalid extent in get_extents_i... X-Git-Tag: v18.0.0~247^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F47553%2Fhead;p=ceph.git crimson/os/seastore/transaction_manager: don't return invalid extent in get_extents_if_live() Signed-off-by: Yingxin Cheng --- diff --git a/src/crimson/os/seastore/transaction_manager.cc b/src/crimson/os/seastore/transaction_manager.cc index f7a560829b8a..5f8fce47c7c7 100644 --- a/src/crimson/os/seastore/transaction_manager.cc +++ b/src/crimson/os/seastore/transaction_manager.cc @@ -598,15 +598,15 @@ TransactionManager::get_extents_if_live( laddr, len ).si_then([=, &t](auto ret) { + std::list res; if (ret) { DEBUGT("{} {}~{} {} is live as physical extent -- {}", t, type, laddr, len, paddr, *ret); + res.emplace_back(std::move(ret)); } else { DEBUGT("{} {}~{} {} is not live as physical extent", t, type, laddr, len, paddr); } - std::list res; - res.emplace_back(std::move(ret)); return get_extents_if_live_ret( interruptible::ready_future_marker{}, std::move(res));