[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 for-7.1 0/9] nbd: actually make s->state thread-safe
From: |
Lukas Straub |
Subject: |
Re: [PATCH v2 for-7.1 0/9] nbd: actually make s->state thread-safe |
Date: |
Sat, 16 Apr 2022 19:03:57 +0000 |
On Thu, 14 Apr 2022 19:57:47 +0200
Paolo Bonzini <pbonzini@redhat.com> wrote:
> The main point of this series is patch 7, which removes the dubious and
> probably wrong use of atomics in block/nbd.c. This in turn is enabled
> mostly by the cleanups in patches 3-5. Together, they introduce a
> QemuMutex that synchronizes the NBD client coroutines, the reconnect_delay
> timer and nbd_cancel_in_flight() as well.
>
> The fixes happen to remove an incorrect use of qemu_co_queue_restart_all
> and qemu_co_enter_next on the s->free_sema CoQueue, which was not guarded
> by s->send_mutex.
>
> The rest is bugfixes, simplifying the code a bit, and extra documentation.
>
> v1->v2:
> - cleaner patch 1
> - fix grammar in patch 4
> - split out patch 6
>
> Paolo Bonzini (9):
> nbd: safeguard against waking up invalid coroutine
> nbd: mark more coroutine_fns
> nbd: remove peppering of nbd_client_connected
> nbd: keep send_mutex/free_sema handling outside
> nbd_co_do_establish_connection
> nbd: use a QemuMutex to synchronize yanking, reconnection and
> coroutines
> nbd: code motion and function renaming
> nbd: move s->state under requests_lock
> nbd: take receive_mutex when reading requests[].receiving
> nbd: document what is protected by the CoMutexes
>
> block/coroutines.h | 4 +-
> block/nbd.c | 298 +++++++++++++++++++++++----------------------
> 2 files changed, 154 insertions(+), 148 deletions(-)
>
For the whole series:
Reviewed-by: Lukas Straub <lukasstraub2@web.de>
Regards,
Lukas
--
pgpadC9AGBulg.pgp
Description: OpenPGP digital signature
- Re: [PATCH v2 for-7.1 6/9] nbd: code motion and function renaming, (continued)