]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
PG,PGLog: update hit_set during peering
authorSamuel Just <sam.just@inktank.com>
Fri, 18 Apr 2014 22:14:33 +0000 (15:14 -0700)
committerSamuel Just <sam.just@inktank.com>
Mon, 21 Apr 2014 17:53:04 +0000 (10:53 -0700)
Fixes: #8124
Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/PG.cc
src/osd/PGLog.cc

index 7dd0acae8c2b5f20919e24652f0cc675eec5ed7d..a028717935967525b022dfff2f66b1a3a103735f 100644 (file)
@@ -1536,6 +1536,7 @@ void PG::activate(ObjectStore::Transaction& t,
        pi.last_complete = info.last_update;
        pi.last_backfill = hobject_t();
        pi.history = info.history;
+       pi.hit_set = info.hit_set;
        pi.stats.stats.clear();
 
        m = new MOSDPGLog(
@@ -6591,6 +6592,7 @@ boost::statechart::result PG::RecoveryState::Stray::react(const MInfoRec& infoev
     ObjectStore::Transaction* t = context<RecoveryMachine>().get_cur_transaction();
     pg->rewind_divergent_log(*t, infoevt.info.last_update);
     pg->info.stats = infoevt.info.stats;
+    pg->info.hit_set = infoevt.info.hit_set;
   }
   
   assert(infoevt.info.last_update == pg->info.last_update);
index c58a1c45793e54e36658d0231d0288efee531054..c3addd78728c72488243b940ea6500351d4bbdc7 100644 (file)
@@ -552,6 +552,7 @@ void PGLog::merge_log(ObjectStore::Transaction& t,
   }
   if (info.last_backfill.is_max())
     info.stats = oinfo.stats;
+  info.hit_set = oinfo.hit_set;
 
   // do we have divergent entries to throw out?
   if (olog.head < log.head) {