]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
PG,PGLog: replace _merge_old_entry with _merge_object_divergent_entries
authorSamuel Just <sam.just@inktank.com>
Sun, 2 Mar 2014 21:38:12 +0000 (13:38 -0800)
committerSamuel Just <sam.just@inktank.com>
Tue, 4 Mar 2014 00:05:12 +0000 (16:05 -0800)
commitc99b7e198548be2fd9f64ea5ef677f82b94e2794
tree3071e315d835716b0bad693c347e62ca1e2e5247
parent86b21e0b782bbcdfa36800aff8146086a44fbec0
PG,PGLog: replace _merge_old_entry with _merge_object_divergent_entries

The _merge_old_entry structure had trouble distinguishing between the
following cases:

missing: foo, 1,1
merge_old_entry modify 1,1 0,0
merge_old_entry modify 1,2 1,1

and
merge_old_entry modify 1,2 1,1

In the first case, we should end up with foo removed from missing
at the end.  In the second, we need foo added to missing at 1,1.
It's far simpler to present all of the divergent entries for a single
object at once.

Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/PGLog.cc
src/osd/PGLog.h