From: Samuel Just Date: Mon, 22 Jul 2013 20:46:10 +0000 (-0700) Subject: PGLog::rewind_divergent_log: unindex only works from tail, index() instead X-Git-Tag: v0.67-rc2~19^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6957dbc75cc2577652b542aa3eae69f03060cb63;p=ceph.git PGLog::rewind_divergent_log: unindex only works from tail, index() instead Fixes: #5714 Signed-off-by: Samuel Just Reviewed-by: Sage Weil --- diff --git a/src/osd/PGLog.cc b/src/osd/PGLog.cc index 6ba08362dadd..2f2c83757db5 100644 --- a/src/osd/PGLog.cc +++ b/src/osd/PGLog.cc @@ -375,7 +375,6 @@ void PGLog::rewind_divergent_log(ObjectStore::Transaction& t, eversion_t newhead } assert(p->version > newhead); dout(10) << "rewind_divergent_log future divergent " << *p << dendl; - log.unindex(*p); } log.head = newhead; @@ -383,6 +382,7 @@ void PGLog::rewind_divergent_log(ObjectStore::Transaction& t, eversion_t newhead if (info.last_complete > newhead) info.last_complete = newhead; + log.index(); for (list::iterator d = divergent.begin(); d != divergent.end(); ++d) merge_old_entry(t, *d, info, remove_snap);