]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
PG: handle info in proc_replica_log just like we did in _process_pg_info
authorJosh Durgin <josh.durgin@dreamhost.com>
Mon, 2 May 2011 21:38:16 +0000 (14:38 -0700)
committerJosh Durgin <josh.durgin@dreamhost.com>
Tue, 3 May 2011 21:26:34 +0000 (14:26 -0700)
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
src/osd/PG.cc

index e4a666fabf57e00a346f2e6edff6af76e7363f8c..4aa230df1d2476fd92d6886141fc221cdedbb576 100644 (file)
@@ -196,6 +196,13 @@ void PG::proc_master_log(ObjectStore::Transaction& t, Info &oinfo, Log &olog, Mi
 }
     
 void PG::proc_replica_log(ObjectStore::Transaction& t, Info &oinfo, Log &olog, Missing& omissing, int from) {
+  // This was a side effect in _process_pg_info. At this point I don't
+  // think it's necessary, since we're in the GetMissing state,
+  // but we'll keep it here for now
+  osd->unreg_last_pg_scrub(info.pgid, info.history.last_scrub_stamp);
+  info.history.merge(oinfo.history);
+  osd->reg_last_pg_scrub(info.pgid, info.history.last_scrub_stamp);
+
   /*
     basically what we're doing here is rewinding the remote log,
     dropping divergent entries, until we find something that matches