From: Samuel Just Date: Wed, 1 Oct 2025 23:31:34 +0000 (-0700) Subject: crimson/.../transaction_manager: convert _remove_indirect_mapping_only to use new... X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3c03bcbe89ba81ed24089703457785431c3aca9b;p=ceph-ci.git crimson/.../transaction_manager: convert _remove_indirect_mapping_only to use new interfaces Also removes now unused LBAMapping::remove_indirect_mapping_only. Signed-off-by: Samuel Just --- diff --git a/src/crimson/os/seastore/lba/btree_lba_manager.h b/src/crimson/os/seastore/lba/btree_lba_manager.h index 768aa930ebf..bd386d47eae 100644 --- a/src/crimson/os/seastore/lba/btree_lba_manager.h +++ b/src/crimson/os/seastore/lba/btree_lba_manager.h @@ -232,23 +232,6 @@ public: }; } - ref_ret remove_indirect_mapping_only( - Transaction &t, - LBAMapping mapping) final { - assert(mapping.is_viewable()); - assert(mapping.is_indirect()); - return seastar::do_with( - std::move(mapping), - [&t, this](auto &mapping) { - return update_refcount(t, mapping.indirect_cursor.get(), -1 - ).si_then([](auto res) { - return ref_iertr::make_ready_future< - ref_update_result_t>(ref_update_result_t{ - std::move(res), std::nullopt}); - }); - }); - } - ref_ret remove_mapping( Transaction &t, LBAMapping mapping) final { diff --git a/src/crimson/os/seastore/lba_manager.h b/src/crimson/os/seastore/lba_manager.h index be9cd2a34ab..c1885af63a2 100644 --- a/src/crimson/os/seastore/lba_manager.h +++ b/src/crimson/os/seastore/lba_manager.h @@ -205,19 +205,6 @@ public: Transaction &t, LBAMapping mapping) = 0; - /* - * remove_indirect_mapping_only - * - * Remove the indirect mapping without touch the corresponding - * direct one. - * - * @return returns the information about the removed - * indirect mapping. - */ - virtual ref_ret remove_indirect_mapping_only( - Transaction &t, - LBAMapping mapping) = 0; - /** * Update ref count on mapping */ diff --git a/src/crimson/os/seastore/transaction_manager.cc b/src/crimson/os/seastore/transaction_manager.cc index 9cdf5d6b423..2c43c2f8f2a 100644 --- a/src/crimson/os/seastore/transaction_manager.cc +++ b/src/crimson/os/seastore/transaction_manager.cc @@ -245,11 +245,13 @@ TransactionManager::_remove_indirect_mapping_only( Transaction &t, LBAMapping mapping) { - return lba_manager->remove_indirect_mapping_only( - t, std::move(mapping) - ).si_then([](auto result) { - return std::move(result.result.mapping); - }); + assert(mapping.is_indirect()); + auto ret_cursor = co_await lba_manager->update_mapping_refcount( + t, std::move(mapping.indirect_cursor), -1 + ); + co_return co_await resolve_cursor_to_mapping( + t, + ret_cursor); } TransactionManager::ref_iertr::future<