From: Matan Breizman Date: Mon, 9 Feb 2026 08:49:31 +0000 (+0000) Subject: Revert "crimson/os/seastore/transaction_manager: block client transactions if" X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=41b761b44ed37f7909011d85cc32a22da6c7e5d9;p=ceph.git Revert "crimson/os/seastore/transaction_manager: block client transactions if" This reverts commit a156475f3f8139f2a0b31b9176438cee224da4bd. Signed-off-by: Matan Breizman --- diff --git a/src/crimson/os/seastore/cache.cc b/src/crimson/os/seastore/cache.cc index 2ecfc5d6d46..b3dab60882d 100644 --- a/src/crimson/os/seastore/cache.cc +++ b/src/crimson/os/seastore/cache.cc @@ -1316,7 +1316,6 @@ record_t Cache::prepare_record( if (is_rewrite_transaction(t.get_src()) && !is_root_type(i->get_type())) { i->new_committer(t); - i->committer->block_trans(t); } assert(i->is_exist_mutation_pending() || i->prior_instance); @@ -1592,7 +1591,6 @@ record_t Cache::prepare_record( if (is_lba_backref_node(i->get_type())) { committer.sync_checksum(); } - committer.block_trans(t); i->get_prior_instance()->set_io_wait( CachedExtent::extent_state_t::CLEAN, true); } @@ -1965,7 +1963,6 @@ void Cache::complete_commit( } touch_extent_fully(prior, &t_src, t.get_cache_hint()); committer.sync_version(); - committer.unblock_trans(t); prior.complete_io(); i->committer.reset(); prior.committer.reset(); @@ -2045,7 +2042,6 @@ void Cache::complete_commit( t, *i, *i->prior_instance); assert(i->committer); auto &committer = *i->committer; - committer.unblock_trans(t); auto &prior = *i->prior_instance; prior.pending_for_transaction = TRANS_ID_NULL; ceph_assert(prior.is_valid()); diff --git a/src/crimson/os/seastore/cached_extent.cc b/src/crimson/os/seastore/cached_extent.cc index d5abf2e0853..0445aca5eef 100644 --- a/src/crimson/os/seastore/cached_extent.cc +++ b/src/crimson/os/seastore/cached_extent.cc @@ -18,8 +18,6 @@ namespace { } } -SET_SUBSYS(seastore_cache); - namespace crimson::os::seastore { #ifdef DEBUG_CACHED_EXTENT_REF @@ -474,24 +472,4 @@ void CachedExtent::new_committer(Transaction &t) { prior_instance->committer = committer; } -void ExtentCommitter::block_trans(Transaction &t) { - LOG_PREFIX(ExtentCommitter::block_trans); - auto &prior = *extent.prior_instance; - for (auto &item : prior.read_transactions) { - TRACET("blocking trans {} for rewriting {}", - t, item.t->get_trans_id(), *item.ref); - item.t->need_wait_rewrite = true; - } -} - -void ExtentCommitter::unblock_trans(Transaction &t) { - LOG_PREFIX(ExtentCommitter::unblock_trans); - auto &prior = *extent.prior_instance; - for (auto &item : prior.read_transactions) { - TRACET("unblocking trans {} for rewriting {}", - t, item.t->get_trans_id(), *item.ref); - item.t->need_wait_rewrite = false; - } -} - } diff --git a/src/crimson/os/seastore/cached_extent.h b/src/crimson/os/seastore/cached_extent.h index e53ce32b707..1a1144c31fa 100644 --- a/src/crimson/os/seastore/cached_extent.h +++ b/src/crimson/os/seastore/cached_extent.h @@ -279,8 +279,6 @@ public: ExtentCommitter(CachedExtent &extent, Transaction &t) : extent(extent), t(t) {} - void block_trans(Transaction &); - void unblock_trans(Transaction &); // commit all extent states to the prior instance, // except poffset and extent content void commit_state(); diff --git a/src/crimson/os/seastore/transaction.h b/src/crimson/os/seastore/transaction.h index 9a119b3a3fd..59662142ff0 100644 --- a/src/crimson/os/seastore/transaction.h +++ b/src/crimson/os/seastore/transaction.h @@ -550,7 +550,6 @@ public: ool_write_stats = {}; rewrite_stats = {}; conflicted = false; - need_wait_rewrite = false; assert(backref_entries.empty()); if (!has_reset) { has_reset = true; @@ -668,8 +667,6 @@ public: } btree_cursor_stats_t cursor_stats; - bool need_wait_rewrite = false; - private: friend class Cache; friend Ref make_test_transaction(); diff --git a/src/crimson/os/seastore/transaction_manager.cc b/src/crimson/os/seastore/transaction_manager.cc index f9d9b5305ef..7baea2cd82c 100644 --- a/src/crimson/os/seastore/transaction_manager.cc +++ b/src/crimson/os/seastore/transaction_manager.cc @@ -598,9 +598,6 @@ TransactionManager::do_submit_transaction( tref.get_handle().enter(write_pipeline.prepare) ); - while (tref.need_wait_rewrite) { - co_await trans_intr::make_interruptible(seastar::yield()); - } if (trim_alloc_to && *trim_alloc_to != JOURNAL_SEQ_NULL) { SUBTRACET(seastore_t, "trim backref_bufs to {}", tref, *trim_alloc_to); cache->trim_backref_bufs(*trim_alloc_to);