From a0c8c9b0a6e049479d6d042633656e1259f6a736 Mon Sep 17 00:00:00 2001 From: Chunmei Liu Date: Wed, 14 May 2025 17:39:52 +0000 Subject: [PATCH] crimson/os/seastore/omap_manager: remove config from omap_rm_key_range Signed-off-by: Chunmei Liu --- src/crimson/os/seastore/omap_manager.h | 3 +-- .../omap_manager/btree/btree_omap_manager.cc | 7 +++---- .../omap_manager/btree/btree_omap_manager.h | 3 +-- src/crimson/os/seastore/seastore.cc | 5 +---- .../crimson/seastore/test_omap_manager.cc | 19 +++++++------------ 5 files changed, 13 insertions(+), 24 deletions(-) diff --git a/src/crimson/os/seastore/omap_manager.h b/src/crimson/os/seastore/omap_manager.h index 3e8e0473263..53f6dabfabd 100644 --- a/src/crimson/os/seastore/omap_manager.h +++ b/src/crimson/os/seastore/omap_manager.h @@ -239,8 +239,7 @@ public: omap_root_t &omap_root, Transaction &t, const std::string &first, - const std::string &last, - omap_list_config_t config) = 0; + const std::string &last) = 0; /** * clear all omap tree key->value mapping diff --git a/src/crimson/os/seastore/omap_manager/btree/btree_omap_manager.cc b/src/crimson/os/seastore/omap_manager/btree/btree_omap_manager.cc index 2cda9758ff9..5a43ef6f0d0 100644 --- a/src/crimson/os/seastore/omap_manager/btree/btree_omap_manager.cc +++ b/src/crimson/os/seastore/omap_manager/btree/btree_omap_manager.cc @@ -230,8 +230,7 @@ BtreeOMapManager::omap_rm_key_range( omap_root_t &omap_root, Transaction &t, const std::string &first, - const std::string &last, - omap_list_config_t config) + const std::string &last) { LOG_PREFIX(BtreeOMapManager::omap_rm_key_range); DEBUGT("{} ~ {}", t, first, last); @@ -239,9 +238,9 @@ BtreeOMapManager::omap_rm_key_range( assert(last != ""); return seastar::do_with( key_range_t{first, last, 0, false, false}, - [this, &omap_root, &t, config](auto &key_range) { + [this, &omap_root, &t](auto &key_range) { return trans_intr::repeat( - [this, &omap_root, &t, config, &key_range]() + [this, &omap_root, &t, &key_range]() { return get_omap_root( get_omap_context(t, omap_root), diff --git a/src/crimson/os/seastore/omap_manager/btree/btree_omap_manager.h b/src/crimson/os/seastore/omap_manager/btree/btree_omap_manager.h index 9522a4bcd35..18423a40731 100644 --- a/src/crimson/os/seastore/omap_manager/btree/btree_omap_manager.h +++ b/src/crimson/os/seastore/omap_manager/btree/btree_omap_manager.h @@ -93,8 +93,7 @@ public: omap_root_t &omap_root, Transaction &t, const std::string &first, - const std::string &last, - omap_list_config_t config) final; + const std::string &last) final; omap_iterate_ret omap_iterate( const omap_root_t &omap_root, diff --git a/src/crimson/os/seastore/seastore.cc b/src/crimson/os/seastore/seastore.cc index 7ce6bb2a2f1..b83eec86650 100644 --- a/src/crimson/os/seastore/seastore.cc +++ b/src/crimson/os/seastore/seastore.cc @@ -2940,11 +2940,8 @@ SeaStore::Shard::omaptree_rm_keyrange( [&t, &onode, FNAME] (auto &omap_manager, auto &root, auto &first, auto &last) { - auto config = OMapManager::omap_list_config_t() - .with_inclusive(true, false) - .without_max(); return omap_manager.omap_rm_key_range( - root, t, first, last, config + root, t, first, last ).si_then([&t, &root, &onode, FNAME] { if (root.must_update()) { omaptree_update_root(t, root, onode); diff --git a/src/test/crimson/seastore/test_omap_manager.cc b/src/test/crimson/seastore/test_omap_manager.cc index 4e9e580e5c8..7a5d3cc8785 100644 --- a/src/test/crimson/seastore/test_omap_manager.cc +++ b/src/test/crimson/seastore/test_omap_manager.cc @@ -171,30 +171,25 @@ struct omap_manager_test_t : const std::string &first, const std::string &last) { logger().debug("rm keys in range {} ~ {}", first, last); - auto config = OMapManager::omap_list_config_t() - .with_max(3000) - .with_inclusive(true, false); with_trans_intr( t, [&, this](auto &t) { return omap_manager->omap_rm_key_range( - omap_root, t, first, last, config); + omap_root, t, first, last); }).unsafe_get(); std::vector keys; - size_t count = 0; for (auto iter = test_omap_mappings.begin(); - iter != test_omap_mappings.end(); ) { + iter != test_omap_mappings.end(); ) { if (iter->first >= first && iter->first < last) { - keys.push_back(iter->first); - iter = test_omap_mappings.erase(iter); - count++; + keys.push_back(iter->first); + iter = test_omap_mappings.erase(iter); } else { - iter++; + iter++; } - if (count == config.max_result_size) { - break; + if (iter->first >= last) { + break; } } return keys; -- 2.39.5