From: Matan Breizman Date: Mon, 4 Aug 2025 10:06:36 +0000 (+0000) Subject: crimson/seastore/async: Use common base_ertr and base_iertr X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8a110623174de3a62f4b1ff1e68cec46644eee55;p=ceph.git crimson/seastore/async: Use common base_ertr and base_iertr Signed-off-by: Matan Breizman --- diff --git a/src/crimson/os/seastore/async_cleaner.h b/src/crimson/os/seastore/async_cleaner.h index 2665b579bbc9..5cb7a9e13bb0 100644 --- a/src/crimson/os/seastore/async_cleaner.h +++ b/src/crimson/os/seastore/async_cleaner.h @@ -16,6 +16,7 @@ #include "crimson/os/seastore/segment_manager_group.h" #include "crimson/os/seastore/randomblock_manager_group.h" #include "crimson/os/seastore/transaction.h" +#include "crimson/os/seastore/transaction_interruptor.h" #include "crimson/os/seastore/segment_seq_allocator.h" #include "crimson/os/seastore/backref_mapping.h" @@ -289,10 +290,6 @@ std::ostream &operator<<(std::ostream &, const segments_info_t &); */ class ExtentCallbackInterface { public: - using base_ertr = crimson::errorator< - crimson::ct_error::input_output_error>; - using base_iertr = trans_iertr; - virtual ~ExtentCallbackInterface() = default; virtual shard_stats_t& get_shard_stats() = 0; diff --git a/src/crimson/os/seastore/object_data_handler.h b/src/crimson/os/seastore/object_data_handler.h index 8750c066e964..aecacc2b5bee 100644 --- a/src/crimson/os/seastore/object_data_handler.h +++ b/src/crimson/os/seastore/object_data_handler.h @@ -268,8 +268,6 @@ using ObjectDataBlockRef = TCachedExtentRef; class ObjectDataHandler { public: - using base_iertr = TransactionManager::base_iertr; - ObjectDataHandler(uint32_t mos) : max_object_size(mos), delta_based_overwrite_max_extent_size( crimson::common::get_conf("seastore_data_delta_based_overwrite")) {} diff --git a/src/crimson/os/seastore/omap_manager.h b/src/crimson/os/seastore/omap_manager.h index a8d6b3722ef9..3399566a5044 100644 --- a/src/crimson/os/seastore/omap_manager.h +++ b/src/crimson/os/seastore/omap_manager.h @@ -50,8 +50,6 @@ class OMapManager { * until these functions future resolved. */ public: - using base_iertr = TransactionManager::base_iertr; - /** * allocate omap tree root node * diff --git a/src/crimson/os/seastore/omap_manager/btree/omap_btree_node.h b/src/crimson/os/seastore/omap_manager/btree/omap_btree_node.h index 140513beb9f9..616c00780193 100644 --- a/src/crimson/os/seastore/omap_manager/btree/omap_btree_node.h +++ b/src/crimson/os/seastore/omap_manager/btree/omap_btree_node.h @@ -33,8 +33,6 @@ enum class mutation_status_t : uint8_t { }; struct OMapNode : LogicalChildNode { - using base_iertr = OMapManager::base_iertr; - using OMapNodeRef = TCachedExtentRef; struct mutation_result_t { diff --git a/src/crimson/os/seastore/omap_manager/btree/omap_btree_node_impl.cc b/src/crimson/os/seastore/omap_manager/btree/omap_btree_node_impl.cc index 7efb21f8f141..be26748c4164 100644 --- a/src/crimson/os/seastore/omap_manager/btree/omap_btree_node_impl.cc +++ b/src/crimson/os/seastore/omap_manager/btree/omap_btree_node_impl.cc @@ -39,7 +39,7 @@ std::ostream &OMapInnerNode::print_detail_l(std::ostream &out) const return out; } -using dec_ref_iertr = OMapInnerNode::base_iertr; +using dec_ref_iertr = base_iertr; using dec_ref_ret = dec_ref_iertr::future<>; template dec_ref_ret dec_ref(omap_context_t oc, T&& addr) { diff --git a/src/crimson/os/seastore/omap_manager/btree/omap_btree_node_impl.h b/src/crimson/os/seastore/omap_manager/btree/omap_btree_node_impl.h index 6fce9584f468..8e54bacfdd0d 100644 --- a/src/crimson/os/seastore/omap_manager/btree/omap_btree_node_impl.h +++ b/src/crimson/os/seastore/omap_manager/btree/omap_btree_node_impl.h @@ -285,7 +285,7 @@ private: OMapNodeRef l, OMapNodeRef r); - using get_child_node_iertr = OMapNode::base_iertr; + using get_child_node_iertr = base_iertr; using get_child_node_ret = get_child_node_iertr::future; get_child_node_ret get_child_node( omap_context_t oc, @@ -499,7 +499,7 @@ struct OMapLeafNode }; using OMapLeafNodeRef = OMapLeafNode::OMapLeafNodeRef; -using omap_load_extent_iertr = OMapNode::base_iertr; +using omap_load_extent_iertr = base_iertr; template requires std::is_same_v || std::is_same_v omap_load_extent_iertr::future> diff --git a/src/crimson/os/seastore/onode_manager.h b/src/crimson/os/seastore/onode_manager.h index 5a454906dc6f..328299948f5c 100644 --- a/src/crimson/os/seastore/onode_manager.h +++ b/src/crimson/os/seastore/onode_manager.h @@ -22,7 +22,6 @@ namespace crimson::os::seastore { class OnodeManager { - using base_iertr = TransactionManager::base_iertr; public: using mkfs_iertr = base_iertr; using mkfs_ret = mkfs_iertr::future<>; diff --git a/src/crimson/os/seastore/onode_manager/staged-fltree/node_extent_manager.h b/src/crimson/os/seastore/onode_manager/staged-fltree/node_extent_manager.h index acc301e6c8ef..f72b0d497793 100644 --- a/src/crimson/os/seastore/onode_manager/staged-fltree/node_extent_manager.h +++ b/src/crimson/os/seastore/onode_manager/staged-fltree/node_extent_manager.h @@ -61,7 +61,6 @@ class NodeExtent : public LogicalChildNode { using crimson::os::seastore::TransactionManager; class NodeExtentManager { - using base_iertr = TransactionManager::base_iertr; public: virtual ~NodeExtentManager() = default; diff --git a/src/crimson/os/seastore/seastore.cc b/src/crimson/os/seastore/seastore.cc index 1e6dbd57ed81..b0389b241ddf 100644 --- a/src/crimson/os/seastore/seastore.cc +++ b/src/crimson/os/seastore/seastore.cc @@ -1102,7 +1102,7 @@ SeaStore::Shard::list_collections() }); } -SeaStore::base_iertr::future +base_iertr::future SeaStore::Shard::_read( Transaction& t, Onode& onode, @@ -1279,7 +1279,7 @@ SeaStore::Shard::get_attr( }); } -SeaStore::base_iertr::future +base_iertr::future SeaStore::Shard::_get_attrs( Transaction& t, Onode& onode) @@ -1459,7 +1459,7 @@ SeaStore::Shard::omap_iterate( }); } -SeaStore::base_iertr::future +base_iertr::future SeaStore::Shard::_fiemap( Transaction &t, Onode &onode, @@ -2543,7 +2543,7 @@ SeaStore::Shard::omaptree_get_value( }); } -SeaStore::base_iertr::future +base_iertr::future SeaStore::Shard::omaptree_get_values( Transaction& t, omap_root_t&& root, @@ -2634,7 +2634,7 @@ SeaStore::Shard::omaptree_list( }); } -SeaStore::base_iertr::future +base_iertr::future SeaStore::Shard::omaptree_get_values( Transaction& t, omap_root_t&& root, @@ -2654,7 +2654,7 @@ SeaStore::Shard::omaptree_get_values( }); } -SeaStore::base_iertr::future +base_iertr::future SeaStore::Shard::omaptree_do_clear( Transaction& t, omap_root_t&& root) @@ -2673,7 +2673,7 @@ SeaStore::Shard::omaptree_do_clear( }); } -SeaStore::base_iertr::future<> +base_iertr::future<> SeaStore::Shard::omaptree_clear_no_onode( Transaction& t, omap_root_t&& root) @@ -2707,7 +2707,7 @@ void omaptree_update_root( } } -SeaStore::base_iertr::future<> +base_iertr::future<> SeaStore::Shard::omaptree_clear( Transaction& t, omap_root_t&& root, @@ -2728,7 +2728,7 @@ SeaStore::Shard::omaptree_clear( }); } -SeaStore::base_iertr::future<> +base_iertr::future<> SeaStore::Shard::omaptree_clone( Transaction& t, omap_type_t type, @@ -2819,7 +2819,7 @@ SeaStore::Shard::omaptree_set_keys( }); } -SeaStore::base_iertr::future<> +base_iertr::future<> SeaStore::Shard::omaptree_rm_keys( Transaction& t, omap_root_t&& root, @@ -2855,7 +2855,7 @@ SeaStore::Shard::omaptree_rm_keys( }); } -SeaStore::base_iertr::future<> +base_iertr::future<> SeaStore::Shard::omaptree_rm_keyrange( Transaction& t, omap_root_t&& root, @@ -2896,7 +2896,7 @@ SeaStore::Shard::omaptree_rm_keyrange( }); } -SeaStore::base_iertr::future<> +base_iertr::future<> SeaStore::Shard::omaptree_rm_key( Transaction& t, omap_root_t&& root, diff --git a/src/crimson/os/seastore/seastore.h b/src/crimson/os/seastore/seastore.h index 6e6ee83595a4..adbd4143a510 100644 --- a/src/crimson/os/seastore/seastore.h +++ b/src/crimson/os/seastore/seastore.h @@ -71,9 +71,6 @@ struct col_obj_ranges_t { class SeaStore final : public FuturizedStore { public: - using base_ertr = TransactionManager::base_ertr; - using base_iertr = TransactionManager::base_iertr; - class MDStore { public: using write_meta_ertr = base_ertr; diff --git a/src/test/crimson/seastore/test_object_data_handler.cc b/src/test/crimson/seastore/test_object_data_handler.cc index a313f5ea5db4..fd6d2a001182 100644 --- a/src/test/crimson/seastore/test_object_data_handler.cc +++ b/src/test/crimson/seastore/test_object_data_handler.cc @@ -251,11 +251,11 @@ struct object_data_handler_test_t: trans, std::move(opin), std::array{ remap_entry_t(new_offset, new_len)} ).si_then([](auto ret) { - return TransactionManager::base_iertr::make_ready_future< + return base_iertr::make_ready_future< std::optional>(std::move(ret[0])); }); }).handle_error(crimson::ct_error::eagain::handle([] { - return TransactionManager::base_iertr::make_ready_future< + return base_iertr::make_ready_future< std::optional>(); }), crimson::ct_error::pass_further_all{}).unsafe_get(); EXPECT_TRUE(pin); diff --git a/src/test/crimson/seastore/test_transaction_manager.cc b/src/test/crimson/seastore/test_transaction_manager.cc index 13597e5cde0c..59ec6ec60c0a 100644 --- a/src/test/crimson/seastore/test_transaction_manager.cc +++ b/src/test/crimson/seastore/test_transaction_manager.cc @@ -634,7 +634,7 @@ struct transaction_manager_test_t : TestBlockRef try_read_pin( test_transaction_t &t, const LBAMapping pin) { - using ertr = with_trans_ertr; + using ertr = with_trans_ertr; bool indirect = pin.is_indirect(); auto addr = pin.get_key(); auto im_addr = pin.get_intermediate_base(); @@ -1185,11 +1185,11 @@ struct transaction_manager_test_t : trans, std::move(opin), std::array{ remap_entry_t(new_offset, new_len)} ).si_then([](auto ret) { - return TransactionManager::base_iertr::make_ready_future< + return base_iertr::make_ready_future< std::optional>(std::move(ret[0])); }); }).handle_error(crimson::ct_error::eagain::handle([] { - return TransactionManager::base_iertr::make_ready_future< + return base_iertr::make_ready_future< std::optional>(); }), crimson::ct_error::pass_further_all{}).unsafe_get(); if (t.t->is_conflicted()) { diff --git a/src/test/crimson/seastore/transaction_manager_test_state.h b/src/test/crimson/seastore/transaction_manager_test_state.h index d6a78231e94a..87899b142a90 100644 --- a/src/test/crimson/seastore/transaction_manager_test_state.h +++ b/src/test/crimson/seastore/transaction_manager_test_state.h @@ -360,13 +360,12 @@ protected: }); } auto submit_transaction_fut_with_seq(Transaction &t) { - using ertr = TransactionManager::base_iertr; return with_trans_intr( t, [this](auto &t) { return tm->submit_transaction(t ).si_then([this] { - return ertr::make_ready_future(seq++); + return base_iertr::make_ready_future(seq++); }); }); }