]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/osd: drop redundant locking operations in ObjectContext::wait_recovery_read() 38390/head
authorXuehan Xu <xxhdx1985126@gmail.com>
Wed, 2 Dec 2020 08:48:15 +0000 (16:48 +0800)
committerXuehan Xu <xxhdx1985126@gmail.com>
Wed, 2 Dec 2020 12:14:38 +0000 (20:14 +0800)
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
src/crimson/osd/object_context.h
src/crimson/osd/replicated_recovery_backend.cc

index 7e14ac3e16f0c7a9df63dada819b10120589ec0c..16bae92a7950ea6be76ec753e792800746dfed73 100644 (file)
@@ -163,10 +163,8 @@ public:
       return false;
     }
   }
-  seastar::future<> wait_recovery_read() {
-    return lock.lock_for_read().then([this] {
-      recovery_read_marker = true;
-    });
+  void wait_recovery_read() {
+    recovery_read_marker = true;
   }
   void drop_recovery_read() {
     assert(recovery_read_marker);
index 42fc442ec435bbc51bdfb96538a0da011cb65c9a..274b06cfecfad7d5dd1aed3bf78073585b503822 100644 (file)
@@ -126,7 +126,8 @@ auto ReplicatedRecoveryBackend::load_obc_for_recovery(
   return pg.with_head_obc<RWState::RWREAD>(soid, [&recovery_waiter](auto obc) {
     logger().debug("load_obc_for_recovery: loaded obc: {}", obc->obs.oi.soid);
     recovery_waiter.obc = obc;
-    return recovery_waiter.obc->wait_recovery_read();
+    recovery_waiter.obc->wait_recovery_read();
+    return seastar::now();
   });
 }