]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
PG: wait until we've build the missing set to discover_all_missing 2435/head
authorSamuel Just <sam.just@inktank.com>
Thu, 28 Aug 2014 22:32:22 +0000 (15:32 -0700)
committerSamuel Just <sam.just@inktank.com>
Thu, 28 Aug 2014 23:21:33 +0000 (16:21 -0700)
Fixes: #9179
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/PG.cc

index 72d349fca31a8995af385848ed8388c5af8e68c8..400ba0d613b3632d9df7cc4b79e1978fb8e14292 100644 (file)
@@ -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?