]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/.../object_context: drop recovery_read_marker
authorSamuel Just <sjust@redhat.com>
Wed, 19 Jun 2024 04:10:34 +0000 (21:10 -0700)
committerSamuel Just <sjust@redhat.com>
Mon, 24 Jun 2024 00:53:53 +0000 (17:53 -0700)
This doesn't seem to serve a purpose with current crimson.  classic
uses ObjectState::recovery_read_marker to indicate that backfill
should be requeued upon wakeup, but that hasn't been necessary so
far in crimson.  We can reintroduce this if it becomes useful.

Signed-off-by: Samuel Just <sjust@redhat.com>
src/crimson/osd/object_context.h
src/crimson/osd/pg_recovery.cc
src/crimson/osd/replicated_recovery_backend.cc

index 7a31cc11fe8853c0b83bf3066bc179e8c5c87cf3..292ef4d4bde7bd9b5e49b46441060fbe92b82ce0 100644 (file)
@@ -63,7 +63,6 @@ class ObjectContext : public ceph::common::intrusive_lru_base<
 {
 private:
   tri_mutex lock;
-  bool recovery_read_marker = false;
 
 public:
   ObjectState obs;
@@ -117,9 +116,6 @@ public:
   template<typename Exception>
   void interrupt(Exception ex) {
     lock.abort(std::move(ex));
-    if (recovery_read_marker) {
-      drop_recovery_read();
-    }
   }
 
   bool is_loaded() const {
@@ -293,23 +289,6 @@ public:
   bool is_request_pending() const {
     return lock.is_acquired();
   }
-
-  bool get_recovery_read() {
-    if (lock.try_lock_for_read()) {
-      recovery_read_marker = true;
-      return true;
-    } else {
-      return false;
-    }
-  }
-  void wait_recovery_read() {
-    assert(lock.get_readers() > 0);
-    recovery_read_marker = true;
-  }
-  void drop_recovery_read() {
-    assert(recovery_read_marker);
-    recovery_read_marker = false;
-  }
 };
 using ObjectContextRef = ObjectContext::Ref;
 
index 4ed861cfd7ef74dc48fcd6bcd705bdb8708af042..05f8c6e1f968af0f5a6e15dcb648b4bcb402a943 100644 (file)
@@ -429,8 +429,6 @@ void PGRecovery::on_global_recover (
   pg->get_peering_state().object_recovered(soid, stat_diff);
   pg->publish_stats_to_osd();
   auto& recovery_waiter = pg->get_recovery_backend()->get_recovering(soid);
-  if (!is_delete)
-    recovery_waiter.obc->drop_recovery_read();
   recovery_waiter.set_recovered();
   pg->get_recovery_backend()->remove_recovering(soid);
 }
index 4b4db79af49f69b587d1c31791663ec05e2fbf4d..03cf38e6954b6d31e28e4b3b04a564b3df75945d 100644 (file)
@@ -38,7 +38,6 @@ ReplicatedRecoveryBackend::recover_object(
       logger().debug("recover_object: loaded obc: {}", obc->obs.oi.soid);
       auto& recovery_waiter = get_recovering(soid);
       recovery_waiter.obc = obc;
-      recovery_waiter.obc->wait_recovery_read();
       return maybe_push_shards(head, soid, need);
     }, false).handle_error_interruptible(
       crimson::osd::PG::load_obc_ertr::all_same_way([soid](auto& code) {
@@ -98,10 +97,6 @@ ReplicatedRecoveryBackend::maybe_push_shards(
     }
     return seastar::make_ready_future<>();
   }).handle_exception_interruptible([this, soid](auto e) {
-    auto &recovery = get_recovering(soid);
-    if (recovery.obc) {
-      recovery.obc->drop_recovery_read();
-    }
     recovering.erase(soid);
     return seastar::make_exception_future<>(e);
   });