QEMU block layer multi-queue support involves running I/O requests from
multiple threads. Shared state must be protected somehow to avoid thread-safety
issues.
The BlockBackend->queued_requests CoQueue is accessed without a lock and will
likely be corrupted when multiple threads queue requests at the same time.
This patch series make BlockBackend->queued_requests thread-safe.
Stefan Hajnoczi (3):
block: make BlockBackend->quiesce_counter atomic
block: make BlockBackend->disable_request_queuing atomic
block: protect BlockBackend->queued_requests with a lock
block/block-backend.c | 41 ++++++++++++++++++++++++++++++-----------
1 file changed, 30 insertions(+), 11 deletions(-)
--
2.39.2