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=b2827cf63cc8c027933bb85caa75ce29e3348e7e;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 e32d8a8690d..b0c16e60187 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 5ce115d20d4..e6da438c756 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 a6eb3bce57a..d68e14d98e2 100644 --- a/src/crimson/os/seastore/transaction_manager.cc +++ b/src/crimson/os/seastore/transaction_manager.cc @@ -260,11 +260,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<