]> 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)
committerNeha Ojha <nojha@redhat.com>
Mon, 25 Mar 2019 18:33:47 +0000 (11:33 -0700)
commitde18c592259816ad013ac82983cdec71bbfa51a0
treeb7b2bc72b33f09b12318e17f0eaa78bd060cde9a
parent1fdd8ed552adef8cae0861de4afeca4779daf1a8
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>
src/osd/PGLog.cc
src/osd/PGLog.h
src/test/osd/TestPGLog.cc