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