Files
qemu/hw/block
Stefan Hajnoczi 71ee0cdd14 virtio-blk: restart s->rq reqs in vq AioContexts
A virtio-blk device with the iothread-vq-mapping parameter has
per-virtqueue AioContexts. It is not thread-safe to process s->rq
requests in the BlockBackend AioContext since that may be different from
the virtqueue's AioContext to which this request belongs. The code
currently races and could crash.

Adapt virtio_blk_dma_restart_cb() to first split s->rq into per-vq lists
and then schedule a BH each vq's AioContext as necessary. This way
requests are safely processed in their vq's AioContext.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20240119135748.270944-5-stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2024-01-26 11:16:58 +01:00
..
2023-03-07 16:53:18 +01:00
2023-12-29 11:17:30 +11:00
2023-12-29 11:17:30 +11:00
2023-12-29 11:17:30 +11:00
2023-12-29 11:17:30 +11:00
2023-09-21 11:31:16 +03:00
2023-12-29 11:17:30 +11:00
2023-12-29 11:17:30 +11:00
2023-12-29 11:17:30 +11:00
2023-12-29 11:17:30 +11:00
2023-12-29 11:17:30 +11:00
2019-06-24 10:42:30 +01:00