]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: clear need_up_thru in build_prior as appropriate
authorSage Weil <sage@newdream.net>
Mon, 19 Sep 2011 21:00:59 +0000 (14:00 -0700)
committerSage Weil <sage@newdream.net>
Mon, 19 Sep 2011 21:05:49 +0000 (14:05 -0700)
The only time need_up_thru is cleared is in the Peering state AdvMap
handler, but it doesn't get called if prior_set_affected() and we go
into build_prior().  Build_prior() sets need_up_thru if it's needed, but
it doesn't clear it if its not, which means the pg never goes active.

Reported-by: Sam Lang <samlang@gmail.com>
Signed-off-by: Sage Weil <sage@newdream.net>
src/osd/PG.cc

index f1da29adde23dae5fbd2d128a0d7c6939770f306..fa3dbd803a91c7dc0856c1fc23c7893070f482a5 100644 (file)
@@ -1218,6 +1218,7 @@ void PG::build_prior(std::auto_ptr<PgPriorSet> &prior_set)
     dout(10) << "up_thru " << osd->osdmap->get_up_thru(osd->whoami)
             << " >= same_since " << info.history.same_acting_since
             << ", all is well" << dendl;
+    need_up_thru = false;
   }
 }