Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
os/bluestore: drop deferred_submit_lock
This lock serves no purpose. It only protects the call to the aio_submit on the OpSequencer running batch, but we are the only caller who will do that submission, and a new batch won't be moved into place until ours is completed and retired (by the completion for the aio we are queueing). More importantly, this fixes a deadlock: - thread A submits aio, but the queue is full, and blocks - thread B blocks taking deferred_submit_lock while holding deferred_lock - aio completion thread blocks trying to take deferred_lock, and thus no further aios are drained. Fixes: http://tracker.ceph.com/issues/21171 Signed-off-by: Sage Weil <sage@redhat.com>
- Loading branch information