diff options
author | Sage Weil <sage.weil@dreamhost.com> | 2012-04-29 08:11:06 -0700 |
---|---|---|
committer | Sage Weil <sage.weil@dreamhost.com> | 2012-04-29 08:11:25 -0700 |
commit | d48549d5b95712015438c8a4a409d98041eb84c0 (patch) | |
tree | 7b0d4cf27af6f2e354e47ef1dee279e91f8287fe | |
parent | f750c3f46b87dfc5cf2f97d715b4695602856174 (diff) | |
download | ceph-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.cc | 4 |
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? |