From: Xuehan Xu Date: Thu, 19 Jun 2025 01:12:28 +0000 (+0800) Subject: crimson/os/seastore/lba: remove refresh_lba_mapping X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9cf5cfa8eaf90d14890bd8a50f58e7c1e692043d;p=ceph.git crimson/os/seastore/lba: remove refresh_lba_mapping Signed-off-by: Xuehan Xu --- diff --git a/src/crimson/os/seastore/lba/btree_lba_manager.cc b/src/crimson/os/seastore/lba/btree_lba_manager.cc index bd809fa5798..56b497a57fb 100644 --- a/src/crimson/os/seastore/lba/btree_lba_manager.cc +++ b/src/crimson/os/seastore/lba/btree_lba_manager.cc @@ -725,38 +725,6 @@ BtreeLBAManager::get_physical_extent_if_live( }); } -BtreeLBAManager::refresh_lba_mapping_ret -BtreeLBAManager::refresh_lba_mapping(Transaction &t, LBAMapping mapping) -{ - if (mapping.is_viewable()) { - return refresh_lba_mapping_iertr::make_ready_future< - LBAMapping>(std::move(mapping)); - } - auto c = get_context(t); - return with_btree_state( - cache, - c, - std::move(mapping), - [](LBABtree &btree, LBAMapping &mapping) mutable - { - return seastar::futurize_invoke([&mapping] { - if (mapping.direct_cursor) { - return mapping.direct_cursor->refresh(); - } - return base_iertr::now(); - }).si_then([&mapping] { - if (mapping.indirect_cursor) { - return mapping.indirect_cursor->refresh(); - } - return base_iertr::now(); -#ifndef NDEBUG - }).si_then([&mapping] { - assert(mapping.is_viewable()); -#endif - }); - }); -} - void BtreeLBAManager::register_metrics() { LOG_PREFIX(BtreeLBAManager::register_metrics); diff --git a/src/crimson/os/seastore/lba/btree_lba_manager.h b/src/crimson/os/seastore/lba/btree_lba_manager.h index a3df2b30401..1e4848f683e 100644 --- a/src/crimson/os/seastore/lba/btree_lba_manager.h +++ b/src/crimson/os/seastore/lba/btree_lba_manager.h @@ -265,10 +265,6 @@ public: laddr_t laddr, extent_len_t len) final; - refresh_lba_mapping_ret refresh_lba_mapping( - Transaction &t, - LBAMapping mapping) final; - private: Cache &cache; diff --git a/src/crimson/os/seastore/lba_manager.h b/src/crimson/os/seastore/lba_manager.h index d146a9932ec..b01e89633d1 100644 --- a/src/crimson/os/seastore/lba_manager.h +++ b/src/crimson/os/seastore/lba_manager.h @@ -230,12 +230,6 @@ public: laddr_t laddr, extent_len_t len) = 0; - using refresh_lba_mapping_iertr = base_iertr; - using refresh_lba_mapping_ret = refresh_lba_mapping_iertr::future; - virtual refresh_lba_mapping_ret refresh_lba_mapping( - Transaction &t, - LBAMapping mapping) = 0; - virtual ~LBAManager() {} }; using LBAManagerRef = std::unique_ptr; diff --git a/src/crimson/os/seastore/transaction_manager.h b/src/crimson/os/seastore/transaction_manager.h index a5788367515..6a273e7c49c 100644 --- a/src/crimson/os/seastore/transaction_manager.h +++ b/src/crimson/os/seastore/transaction_manager.h @@ -277,7 +277,7 @@ public: SUBDEBUGT(seastore_tm, "{} {} 0x{:x}~0x{:x} direct_off=0x{:x} ...", t, T::TYPE, pin, partial_off, partial_len, direct_partial_off); - return lba_manager->refresh_lba_mapping(t, std::move(pin) + return pin.refresh( ).si_then([&t, this, direct_partial_off, partial_len, maybe_init=std::move(maybe_init)](auto npin) mutable { // checking the lba child must be atomic with creating diff --git a/src/test/crimson/seastore/test_transaction_manager.cc b/src/test/crimson/seastore/test_transaction_manager.cc index f03ef118cda..e6120c4745f 100644 --- a/src/test/crimson/seastore/test_transaction_manager.cc +++ b/src/test/crimson/seastore/test_transaction_manager.cc @@ -783,8 +783,8 @@ struct transaction_manager_test_t : } LBAMapping refresh_lba_mapping(test_transaction_t &t, LBAMapping mapping) { - return with_trans_intr(*t.t, [this, mapping=std::move(mapping)](auto &t) mutable { - return lba_manager->refresh_lba_mapping(t, std::move(mapping)); + return with_trans_intr(*t.t, [mapping=std::move(mapping)](auto &t) mutable { + return mapping.refresh(); }).unsafe_get(); }