]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
PG: search_for_missing takes the other osd's missing set
authorSamuel Just <samuel.just@dreamhost.com>
Fri, 13 May 2011 21:07:05 +0000 (14:07 -0700)
committerSamuel Just <samuel.just@dreamhost.com>
Fri, 13 May 2011 21:07:49 +0000 (14:07 -0700)
Previously, search_for_missing was erroneously passed the
primary's missing in a few places.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
src/osd/PG.cc

index 847f751b345de8ba277622bc78ad220321956c84..5c4538cd3bc7055811ff427d7aa979f784845123 100644 (file)
@@ -4077,7 +4077,7 @@ PG::RecoveryState::Active::react(const MLogRec& logevt) {
            << " log for unfound items" << dendl;
   PG *pg = context< RecoveryMachine >().pg;
   bool got_missing = pg->search_for_missing(logevt.msg->info,
-                                            &pg->missing, logevt.from);
+                                            &logevt.msg->missing, logevt.from);
   if (got_missing)
     pg->osd->queue_for_recovery(pg);
   return discard_event();
@@ -4506,7 +4506,7 @@ boost::statechart::result PG::RecoveryState::WaitUpThru::react(const MLogRec& lo
            << " log for unfound items" << dendl;
   PG *pg = context< RecoveryMachine >().pg;
   bool got_missing = pg->search_for_missing(logevt.msg->info,
-                                            &pg->missing, logevt.from);
+                                            &logevt.msg->missing, logevt.from);
 
   // hmm.. should we?
   (void)got_missing;