]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
Revert "crimson/os/seastore/cached_extent: treat extents under rewrite io as"
authorMatan Breizman <mbreizma@redhat.com>
Mon, 9 Feb 2026 08:49:35 +0000 (08:49 +0000)
committerMatan Breizman <mbreizma@redhat.com>
Mon, 9 Feb 2026 08:49:35 +0000 (08:49 +0000)
This reverts commit ec66079995e8c32771ecd42c5f3c386c5c4c2022.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
src/crimson/os/seastore/cache.cc
src/crimson/os/seastore/cache.h
src/crimson/os/seastore/cached_extent.h

index b3dab60882df3ab26f60a62eb7a7c13cc549b39c..1bb973c8c00314ea4b9e43ad5cc9c80dbf12b851 100644 (file)
@@ -1431,8 +1431,7 @@ record_t Cache::prepare_record(
   for (auto &i: t.mutated_block_list) {
     if (i->is_valid()) {
       if (i->is_mutation_pending()) {
-        i->set_io_wait(CachedExtent::extent_state_t::DIRTY,
-                       is_rewrite_transaction(t.get_src()));
+        i->set_io_wait(CachedExtent::extent_state_t::DIRTY);
         commit_replace_extent(t, i, i->prior_instance);
       } // else, is_exist_mutation_pending():
         // - it doesn't have prior_instance to replace
@@ -1575,8 +1574,7 @@ record_t Cache::prepare_record(
          i->get_length(),
          i->get_type()));
     }
-    i->set_io_wait(CachedExtent::extent_state_t::CLEAN,
-                   is_rewrite_transaction(t.get_src()));
+    i->set_io_wait(CachedExtent::extent_state_t::CLEAN);
     // Note, paddr is known until complete_commit(),
     // so add_extent() later.
     if (is_rewrite_transaction(t.get_src())) {
@@ -1592,7 +1590,7 @@ record_t Cache::prepare_record(
         committer.sync_checksum();
       }
       i->get_prior_instance()->set_io_wait(
-        CachedExtent::extent_state_t::CLEAN, true);
+        CachedExtent::extent_state_t::CLEAN);
     }
   }
 
@@ -1617,6 +1615,9 @@ record_t Cache::prepare_record(
          i->get_length(),
          i->get_type()));
     }
+    i->set_io_wait(CachedExtent::extent_state_t::CLEAN);
+    // Note, paddr is (can be) known until complete_commit(),
+    // so add_extent() later.
     if (is_rewrite_transaction(t.get_src())) {
       assert(i->get_prior_instance());
       assert(!i->committer);
@@ -1630,15 +1631,9 @@ 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);
     }
-    i->set_io_wait(CachedExtent::extent_state_t::CLEAN,
-                   is_rewrite_transaction(t.get_src()));
-    // Note, paddr is (can be) known until complete_commit(),
-    // so add_extent() later.
-
   }
 
   for (auto &i: t.inplace_ool_block_list) {
@@ -1684,8 +1679,7 @@ record_t Cache::prepare_record(
       i->state = CachedExtent::extent_state_t::CLEAN;
     } else {
       assert(i->is_exist_mutation_pending());
-      i->set_io_wait(CachedExtent::extent_state_t::DIRTY,
-                     is_rewrite_transaction(t.get_src()));
+      i->set_io_wait(CachedExtent::extent_state_t::DIRTY);
     }
 
     // exist mutation pending extents must be in t.mutated_block_list
index d4acc3da87dba23a3220ab92451b7dee1c1b6514..547246a6972f57c8a87a94e52e449989a4913bd4 100644 (file)
@@ -1912,7 +1912,7 @@ private:
     assert(is_aligned(offset, get_block_size()));
     assert(is_aligned(length, get_block_size()));
     assert(extent->get_paddr().is_absolute());
-    extent->set_io_wait(extent->state, false);
+    extent->set_io_wait(extent->state);
     auto old_length = extent->get_loaded_length();
     load_ranges_t to_read = extent->load_ranges(offset, length);
     auto new_length = extent->get_loaded_length();
index 1a1144c31fa0f76468d15dfa78b8de327195c37d..a0ef8b49d6678b1c5091c3833cd21c86a7b55781 100644 (file)
@@ -653,7 +653,7 @@ public:
 
   /// Returns true iff extent is stable and not io-pending
   bool is_stable_ready() const {
-    return is_stable() && (!is_pending_io() || io_wait->rewriting);
+    return is_stable() && !is_pending_io();
   }
 
   /// Returns true if extent can not be mutated,
@@ -963,13 +963,12 @@ private:
   struct io_wait_t {
     seastar::shared_promise<> pr;
     extent_state_t from_state;
-    bool rewriting = false;
   };
   std::optional<io_wait_t> io_wait;
 
-  void set_io_wait(extent_state_t new_state, bool rewriting) {
+  void set_io_wait(extent_state_t new_state) {
     ceph_assert(!io_wait);
-    io_wait.emplace(seastar::shared_promise<>(), state, rewriting);
+    io_wait.emplace(seastar::shared_promise<>(), state);
     state = new_state;
     assert(is_data_stable());
   }