[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 0/3] block: protect BlockBackend->queued_requests with a lock
From: |
Stefan Hajnoczi |
Subject: |
[PATCH v2 0/3] block: protect BlockBackend->queued_requests with a lock |
Date: |
Tue, 7 Mar 2023 16:04:24 -0500 |
v2:
- Use qatomic_fetch_inc/dec() for readability in Patch 1 [Hanna]
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 | 37 ++++++++++++++++++++++++++-----------
1 file changed, 26 insertions(+), 11 deletions(-)
--
2.39.2
- [PATCH v2 0/3] block: protect BlockBackend->queued_requests with a lock,
Stefan Hajnoczi <=