From: Sage Weil Date: Sun, 29 Apr 2012 15:11:06 +0000 (-0700) Subject: osd: set dirty flags on rewind_divergent_log X-Git-Tag: v0.47~80^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d48549d5b95712015438c8a4a409d98041eb84c0;p=ceph.git osd: set dirty flags on rewind_divergent_log Make sure we record any rewind_divergent_log. In the activate case, this will happen anyway, but mark it dirty here for correctness/completeness. The merge_log case might be a bug. Signed-off-by: Sage Weil --- diff --git a/src/osd/PG.cc b/src/osd/PG.cc index f6342a4c12b6..7bcc642f351e 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -354,6 +354,9 @@ void PG::rewind_divergent_log(ObjectStore::Transaction& t, eversion_t newhead) for (list::iterator d = divergent.begin(); d != divergent.end(); d++) merge_old_entry(t, *d); + + dirty_info = true; + dirty_log = true; } void PG::merge_log(ObjectStore::Transaction& t, @@ -407,6 +410,7 @@ void PG::merge_log(ObjectStore::Transaction& t, // do we have divergent entries to throw out? if (olog.head < log.head) { rewind_divergent_log(t, olog.head); + changed = true; } // extend on head?