qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH for-7.1 0/8] nbd: actually make s->state thread-safe


From: Paolo Bonzini
Subject: Re: [PATCH for-7.1 0/8] nbd: actually make s->state thread-safe
Date: Wed, 13 Apr 2022 09:30:55 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0

On 4/12/22 20:26, Vladimir Sementsov-Ogievskiy wrote:
12.04.2022 20:32, Paolo Bonzini wrote:
The main point of this series is patch 6, 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.

Paolo Bonzini (8):
   nbd: actually implement reply_possible safeguard
   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 reconnection with coroutines
   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        | 303 +++++++++++++++++++++++----------------------
  2 files changed, 157 insertions(+), 150 deletions(-)


Hmm, no patches come to me except for cover-letter. Neither here: 20220412173216.308065-1-pbonzini@redhat.com/">https://patchew.org/QEMU/20220412173216.308065-1-pbonzini@redhat.com/

Network issue, I resent it a couple hours later (and forgot to Cc you, sorry about that).

Paolo




reply via email to

[Prev in Thread] Current Thread [Next in Thread]