]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/: move waiting_for_flushed|peering handling into on_activate_complete
authorSamuel Just <sjust@redhat.com>
Sat, 30 Mar 2019 04:45:18 +0000 (21:45 -0700)
committersjust@redhat.com <sjust@redhat.com>
Wed, 1 May 2019 18:22:22 +0000 (11:22 -0700)
Signed-off-by: Samuel Just <sjust@redhat.com>
src/osd/PeeringState.cc
src/osd/PrimaryLogPG.cc

index a6a04663a2af155ad43bf8e71dfee14a26e591de..d66d83613b741db9e847efeac65c87dcea84a528 100644 (file)
@@ -3941,20 +3941,6 @@ boost::statechart::result PeeringState::Active::react(const AllReplicasActivated
   pg->share_pg_info();
   pl->publish_stats_to_osd();
 
-  pg->check_local();
-
-  // waiters
-  if (ps->flushes_in_progress == 0) {
-    pg->requeue_ops(pg->waiting_for_peered);
-  } else if (!pg->waiting_for_peered.empty()) {
-    psdout(10) << __func__ << " flushes in progress, moving "
-                      << pg->waiting_for_peered.size()
-                      << " items to waiting_for_flush"
-                      << dendl;
-    ceph_assert(pg->waiting_for_flush.empty());
-    pg->waiting_for_flush.swap(pg->waiting_for_peered);
-  }
-
   pl->on_activate_complete();
 
   return discard_event();
index 2a4ffec409b591ef2c3b51d598745c4ba230dfbd..b24b2ec31b82d809813bcb43c8d642d59a5c3cbb 100644 (file)
@@ -12138,6 +12138,20 @@ void PrimaryLogPG::on_shutdown()
 
 void PrimaryLogPG::on_activate_complete()
 {
+  check_local();
+  // waiters
+  if (!recovery_state.needs_flush()) {
+    requeue_ops(waiting_for_peered);
+  } else if (!waiting_for_peered.empty()) {
+    dout(10) << __func__ << " flushes in progress, moving "
+            << waiting_for_peered.size()
+            << " items to waiting_for_flush"
+            << dendl;
+    ceph_assert(waiting_for_flush.empty());
+    waiting_for_flush.swap(waiting_for_peered);
+  }
+
+
   // all clean?
   if (needs_recovery()) {
     dout(10) << "activate not all replicas are up-to-date, queueing recovery" << dendl;