summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage.weil@dreamhost.com>2012-04-29 08:11:06 -0700
committerSage Weil <sage.weil@dreamhost.com>2012-04-29 08:11:25 -0700
commitd48549d5b95712015438c8a4a409d98041eb84c0 (patch)
tree7b0d4cf27af6f2e354e47ef1dee279e91f8287fe
parentf750c3f46b87dfc5cf2f97d715b4695602856174 (diff)
downloadceph-d48549d5b95712015438c8a4a409d98041eb84c0.tar.gz
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 <sage.weil@dreamhost.com>
-rw-r--r--src/osd/PG.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/osd/PG.cc b/src/osd/PG.cc
index f6342a4c12b..7bcc642f351 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<pg_log_entry_t>::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?