From: Samuel Just Date: Mon, 16 Nov 2015 23:06:30 +0000 (-0800) Subject: PG: only queue for recovery once peered X-Git-Tag: v11.0.0~465^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F9231%2Fhead;p=ceph.git PG: only queue for recovery once peered Signed-off-by: Samuel Just --- diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 03c4df954203..0059f5b8e172 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -6742,7 +6742,8 @@ boost::statechart::result PG::RecoveryState::Active::react(const ActMap&) pg->queue_snap_trim(); } - if (!pg->is_clean() && + if (pg->is_peered() && + !pg->is_clean() && !pg->get_osdmap()->test_flag(CEPH_OSDMAP_NOBACKFILL) && (!pg->get_osdmap()->test_flag(CEPH_OSDMAP_NOREBALANCE) || pg->is_degraded())) { pg->queue_recovery(); @@ -6810,7 +6811,8 @@ boost::statechart::result PG::RecoveryState::Active::react(const MLogRec& logevt pg->peer_missing[logevt.from], logevt.from, context< RecoveryMachine >().get_recovery_ctx()); - if (got_missing) + if (pg->is_peered() && + got_missing) pg->queue_recovery(); return discard_event(); }