]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
os/filestore: fix merge_collection replay guards
authorSage Weil <sage@redhat.com>
Mon, 29 Oct 2018 16:17:26 +0000 (11:17 -0500)
committerSage Weil <sage@redhat.com>
Mon, 5 Nov 2018 21:58:27 +0000 (15:58 -0600)
commitfd2e1f3974512995e2cefa17eb1c2d5227ceac2b
treef52c4fa489b40a0d419f6f901dc23289e401c3dd
parent0d166f49dcb3d42ec8726a5bb55f2951cb2eb3f8
os/filestore: fix merge_collection replay guards

The guards are based on spos, which does not change across the call to
_merge_collection, which means we can't open and close multiple guards
within this call.  Instead, use a single set of set_guards and closes
surrounding both the collection and temp.

Also, remove the conditional guard around _remove_collection, which we
want to (try to) do (again) as long as we didn't complete our global
replay guard.

Fixes: http://tracker.ceph.com/issues/36610
Signed-off-by: Sage Weil <sage@redhat.com>
src/os/filestore/FileStore.cc