]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
osd/PG: wait for commit *and* readable before deleting more of PG
authorSage Weil <sage@redhat.com>
Tue, 12 Dec 2017 22:38:14 +0000 (16:38 -0600)
committerSage Weil <sage@redhat.com>
Thu, 11 Jan 2018 23:07:00 +0000 (17:07 -0600)
commit24fd1e0087d26fb4de7673f8b788fb50f13d8dcc
tree3e8b06c5e0ec54074d66d8edf5d1f370ac5613fa
parentd44dcf4e004c680182821dec45faa7d6f70e4591
osd/PG: wait for commit *and* readable before deleting more of PG

For filestore, waiting for onreadable ensures that (1) the backend has done
(all) of the deletion work (we are throttled) and (2) that the flush() will
not block.  So, all good.

For bluestore, onreadable happens at queue time, so the flush() was needed
to throttle progress.  However, we don't want to block the op thread on
flush.  And waiting for commit isn't sufficient because that would not
capture the filestore apply work.

Fix by waiting for both commit and readable before doing more deletion
work.

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