On 7/27/20 1:47 PM, Vladimir Sementsov-Ogievskiy wrote:
> Hi all!
>
> v2: it's a bit updated "[PATCH for-5.1? 0/3] Fix nbd reconnect dead-locks"
> plus completely rewritten "[PATCH for-5.1? 0/4] non-blocking connect"
> (which is now the only one patch 05)
>
> 01: new
> 02: rebased on 01, fix (add outer "if")
> 03-04: add Eric's r-b:
> 05: new
>
> If 05 is too big for 5.1, it's OK to take only 01-04 or less, as well as
> postponing everything to 5.2, as it's all not a degradation of 5.1
> (it's a degradation of 4.2, together with the whole reconnect feature).
I think I like where 5/5 is headed, but am not sure yet whether all
paths are thread-safe or if there is anything we can reuse to make its
implementation smaller. You are right that it's probably best to defer
that to 5.2. In the meantime, I'll queue 1-4 for my NBD pull request
for -rc2.
>
> Vladimir Sementsov-Ogievskiy (5):
> block/nbd: split nbd_establish_connection out of nbd_client_connect
> block/nbd: allow drain during reconnect attempt
> block/nbd: on shutdown terminate connection attempt
> block/nbd: nbd_co_reconnect_loop(): don't sleep if drained
> block/nbd: use non-blocking connect: fix vm hang on connect()
>
> block/nbd.c | 360 +++++++++++++++++++++++++++++++++++++++++----
> block/trace-events | 4 +-
> 2 files changed, 331 insertions(+), 33 deletions(-)
>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org