]> git.proxmox.com Git - mirror_qemu.git/commit
block: Quiesce old aio context during bdrv_set_aio_context
authorFam Zheng <famz@redhat.com>
Wed, 5 Apr 2017 06:44:24 +0000 (14:44 +0800)
committerFam Zheng <famz@redhat.com>
Tue, 11 Apr 2017 12:07:15 +0000 (20:07 +0800)
commitaabf591007a83dc6520329bce929570115849286
treef951eea607ecebecae95238d0f9e347d01cea572
parent14e9559f4624e704a53d0789124b6f9ea9ebb5ca
block: Quiesce old aio context during bdrv_set_aio_context

The fact that the bs->aio_context is changing can confuse the dataplane
iothread, because of the now fine granularity aio context lock.
bdrv_drain should rather be a bdrv_drained_begin/end pair, but since
bs->aio_context is changing, we can just use aio_disable_external and
bdrv_parent_drained_begin.

Reported-by: Ed Swierk <eswierk@skyportsystems.com>
Signed-off-by: Fam Zheng <famz@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
block.c