[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 0/7] block/nbd: decouple reconnect from drain
From: |
Eric Blake |
Subject: |
Re: [PATCH 0/7] block/nbd: decouple reconnect from drain |
Date: |
Tue, 16 Mar 2021 09:41:36 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.0 |
On 3/15/21 1:06 AM, Roman Kagan wrote:
> The reconnection logic doesn't need to stop while in a drained section.
> Moreover it has to be active during the drained section, as the requests
> that were caught in-flight with the connection to the server broken can
> only usefully get drained if the connection is restored. Otherwise such
> requests can only either stall resulting in a deadlock (before
> 8c517de24a), or be aborted defeating the purpose of the reconnection
> machinery (after 8c517de24a).
>
> This series aims to just stop messing with the drained section in the
> reconnection code.
>
> While doing so it undoes the effect of 5ad81b4946 ("nbd: Restrict
> connection_co reentrance"); as I've missed the point of that commit I'd
> appreciate more scrutiny in this area.
Soft freeze is today. I'm leaning towards declaring this series as a
bug fix (and so give it some more soak time to get right, but still okay
for -rc1) rather than a feature addition (and therefore would need to be
in a pull request today). Speak up now if this characterization is off
base.
>
> Roman Kagan (7):
> block/nbd: avoid touching freed connect_thread
> block/nbd: use uniformly nbd_client_connecting_wait
> block/nbd: assert attach/detach runs in the proper context
> block/nbd: transfer reconnection stuff across aio_context switch
> block/nbd: better document a case in nbd_co_establish_connection
> block/nbd: decouple reconnect from drain
> block/nbd: stop manipulating in_flight counter
>
> block/nbd.c | 191 +++++++++++++++++++++++----------------------------
> nbd/client.c | 2 -
> 2 files changed, 86 insertions(+), 107 deletions(-)
>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org
- Re: [PATCH 1/7] block/nbd: avoid touching freed connect_thread, (continued)
[PATCH 2/7] block/nbd: use uniformly nbd_client_connecting_wait, Roman Kagan, 2021/03/15
Re: [PATCH 0/7] block/nbd: decouple reconnect from drain, Vladimir Sementsov-Ogievskiy, 2021/03/15
Re: [PATCH 0/7] block/nbd: decouple reconnect from drain,
Eric Blake <=
Re: [PATCH 0/7] block/nbd: decouple reconnect from drain, Vladimir Sementsov-Ogievskiy, 2021/03/17