]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson: InternalClientRequests require that the pg is already active
authorSamuel Just <sjust@redhat.com>
Tue, 15 Oct 2024 21:19:48 +0000 (14:19 -0700)
committerSamuel Just <sjust@redhat.com>
Thu, 7 Nov 2024 18:29:42 +0000 (10:29 -0800)
Signed-off-by: Samuel Just <sjust@redhat.com>
src/crimson/osd/osd_operations/internal_client_request.cc
src/crimson/osd/pg.h

index 9692556e790e47f7eb14eea85f9f2a1d7d99dff1..4790025065afe83a467ff13e11ccc29c86d18ad2 100644 (file)
@@ -82,14 +82,7 @@ InternalClientRequest::interruptible_future<>
 InternalClientRequest::with_interruption()
 {
   LOG_PREFIX(InternalClientRequest::with_interruption);
-  co_await enter_stage<interruptor>(
-    client_pp().wait_for_active
-  );
-
-  co_await with_blocking_event<PGActivationBlocker::BlockingEvent,
-                              interruptor>([this] (auto&& trigger) {
-    return pg->wait_for_active_blocker.wait(std::move(trigger));
-  });
+  assert(pg->is_active());
 
   co_await enter_stage<interruptor>(client_pp().recover_missing);
 
index 0efb942126a69a675284f826b5288fbb10eee868..b0429c8fb4f20338b738ff9153f55691beccd6be 100644 (file)
@@ -518,6 +518,9 @@ public:
 
 
   // Utility
+  bool is_active() const {
+    return peering_state.is_active();
+  }
   bool is_active_clean() const {
     return peering_state.is_active() && peering_state.is_clean();
   }