]> git.proxmox.com Git - mirror_qemu.git/commit
block: Honor blk_set_aio_context() context requirements
authorSergio Lopez <slp@redhat.com>
Mon, 14 Dec 2020 17:05:16 +0000 (18:05 +0100)
committerEric Blake <eblake@redhat.com>
Wed, 20 Jan 2021 20:48:08 +0000 (14:48 -0600)
commitc7040ff64ec93ee925a81d3547db925fe7d1f1c0
tree0ff573fe23bb203ef2c770a6136f934c82e455f4
parentaf74b550bd8ee02c0fdeaa595d5e6f677969f39b
block: Honor blk_set_aio_context() context requirements

The documentation for bdrv_set_aio_context_ignore() states this:

 * The caller must own the AioContext lock for the old AioContext of bs, but it
 * must not own the AioContext lock for new_context (unless new_context is the
 * same as the current context of bs).

As blk_set_aio_context() makes use of this function, this rule also
applies to it.

Fix all occurrences where this rule wasn't honored.

Suggested-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Sergio Lopez <slp@redhat.com>
Message-Id: <20201214170519.223781-2-slp@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
hw/block/dataplane/virtio-blk.c
hw/block/dataplane/xen-block.c
hw/scsi/virtio-scsi.c