]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: don't rebuild backlog if we already have it
authorSage Weil <sage@newdream.net>
Fri, 8 Aug 2008 17:48:52 +0000 (10:48 -0700)
committerSage Weil <sage@newdream.net>
Fri, 8 Aug 2008 17:48:52 +0000 (10:48 -0700)
src/osd/PG.cc

index b6c3a5c15e10f843851f5fd819d92ae38b7ba424..838613ae479b541fcde7c3ed2e12b57ff86fdfc3 100644 (file)
@@ -177,12 +177,16 @@ void PG::proc_replica_log(Log &olog, Missing& omissing, int from)
     eversion_t lu = peer_info[from].last_update;
     while (pp != olog.log.rend()) {
       if (!log.logged_object(pp->oid)) {
-        dout(10) << " divergent " << *pp << " not in our log, generating backlog" << dendl;
-       //dout(0) << "log" << dendl;
-       //log.print(*_dout);
-       //dout(0) << "olog" << dendl;
-       //olog.print(*_dout);
-        generate_backlog();
+       if (!log.backlog) {
+         dout(10) << " divergent " << *pp << " not in our log, generating backlog" << dendl;
+         //dout(0) << "log" << dendl;
+         //log.print(*_dout);
+         //dout(0) << "olog" << dendl;
+         //olog.print(*_dout);
+         generate_backlog();
+       } else {
+         dout(10) << " divergent " << *pp << " not in our log, already have backlog" << dendl;
+       }
       }
       
       if (!log.objects.count(pp->oid)) {