From: Samuel Just Date: Thu, 28 Aug 2014 22:32:22 +0000 (-0700) Subject: PG: wait until we've build the missing set to discover_all_missing X-Git-Tag: v0.86~113^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F2435%2Fhead;p=ceph.git PG: wait until we've build the missing set to discover_all_missing Fixes: #9179 Backport: firefly Signed-off-by: Samuel Just --- diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 72d349fca31..400ba0d613b 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -1474,12 +1474,6 @@ void PG::activate(ObjectStore::Transaction& t, } else { dout(10) << "activate - not complete, " << missing << dendl; pg_log.activate_not_complete(info); - if (is_primary()) { - dout(10) << "activate - starting recovery" << dendl; - osd->queue_for_recovery(this); - if (have_unfound()) - discover_all_missing(query_map); - } } log_weirdness(); @@ -1644,6 +1638,10 @@ void PG::activate(ObjectStore::Transaction& t, build_might_have_unfound(); state_set(PG_STATE_DEGRADED); + dout(10) << "activate - starting recovery" << dendl; + osd->queue_for_recovery(this); + if (have_unfound()) + discover_all_missing(query_map); } // degraded?