]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
osd/PGLog: should not rollback further than deleted object version
authorNeha Ojha <nojha@redhat.com>
Wed, 6 Feb 2019 03:23:21 +0000 (19:23 -0800)
committerPrashant D <pdhange@redhat.com>
Wed, 17 Apr 2019 00:00:37 +0000 (20:00 -0400)
commita42ca17454198a13d340a1d8a22d012b2b6f000f
tree167506a395556451245018e5aa8056f342708010
parent8bbb76efa480bcada12d524995527e4b3bbee288
osd/PGLog: should not rollback further than deleted object version

When a deleted object becomes a divergent entry in the pg log,
we should not be able to rollback to a version of the deleted
object that doesn't exist.

To avoid this, we need to preserve the original crt of the pg log,
before we update it in rewind_from_head() and use that to decide whether
we can rollback or not in _merge_object_divergent_entries().

Fixes: http://tracker.ceph.com/issues/36739
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit de18c592259816ad013ac82983cdec71bbfa51a0)

Conflicts:
src/osd/PGLog.h : Resolved in struct PGLog
src/osd/PGLog.cc
src/osd/PGLog.h
src/test/osd/TestPGLog.cc