]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
os/bluestore/BlueFS: prevent _compact_log_async reentry
authorSage Weil <sage@redhat.com>
Tue, 5 Sep 2017 19:01:02 +0000 (15:01 -0400)
committerSage Weil <sage@redhat.com>
Tue, 5 Sep 2017 19:01:59 +0000 (15:01 -0400)
commit6bd9db304f906e9e4a07ca5ce07ffffdbc1678f0
tree47796edca6f9e0604586aecb03454bebfbdd7c2e
parent683212ae1f163df986b882d211754346837e2ee0
os/bluestore/BlueFS: prevent _compact_log_async reentry

_should_compact_log uses new_log != nullptr to tell whether compaction is
already in progress, but we don't set it until we are midway through the
process.  Set it at the top of the method to prevent reentry.

See 455cc6cea2e5e8bc1126b5047b6003fa583af1b5, which failed to implement
this properly.

Fixes: http://tracker.ceph.com/issues/21250
Signed-off-by: Sage Weil <sage@redhat.com>
src/os/bluestore/BlueFS.cc