]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
osd/PrimaryLogPG: find_object_context: trust SnapSet's clone_snaps
authorSage Weil <sage@redhat.com>
Thu, 30 May 2019 17:17:50 +0000 (12:17 -0500)
committerSage Weil <sage@redhat.com>
Tue, 2 Jul 2019 13:37:48 +0000 (08:37 -0500)
commita6f85089c0d0213481c8038f57820d3d31cf9ebd
treecf3f1a193c95897713d08b88a9c5d0aae75319e6
parentcabc48c40332875e8827f4f0e6dbde9ab7e9fd7a
osd/PrimaryLogPG: find_object_context: trust SnapSet's clone_snaps

Instead of checking the OSDMap pg_pool_t whether a snap exists, instead

1- Look at the clone_snaps more carefully.  If the snap didn't exist when
the clone was last touched (created or partially-trimmed) then it still
doesn't exist now (snaps aren't resurrected).

2- Check in the OSDMap's removed snaps queue.  This will catch anything
that is still being removed but hasn't been reflected by the clone_snaps
yet.

Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/PrimaryLogPG.cc