From 35c65805b6effbab1c2a324fd8ae3070c5262a0d Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Fri, 29 Mar 2019 21:45:18 -0700 Subject: [PATCH] osd/: move waiting_for_flushed|peering handling into on_activate_complete Signed-off-by: Samuel Just --- src/osd/PeeringState.cc | 14 -------------- src/osd/PrimaryLogPG.cc | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/osd/PeeringState.cc b/src/osd/PeeringState.cc index a6a04663a2a..d66d83613b7 100644 --- a/src/osd/PeeringState.cc +++ b/src/osd/PeeringState.cc @@ -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(); diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc index 2a4ffec409b..b24b2ec31b8 100644 --- a/src/osd/PrimaryLogPG.cc +++ b/src/osd/PrimaryLogPG.cc @@ -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; -- 2.39.5