[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH] nbd-client: fix hang after server closes connec
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-block] [PATCH] nbd-client: fix hang after server closes connection |
Date: |
Wed, 23 Aug 2017 15:46:59 +0100 |
User-agent: |
Mutt/1.8.3 (2017-05-23) |
On Mon, Aug 21, 2017 at 05:15:39PM +0100, Stefan Hajnoczi wrote:
> Commit 72b6ffc76653214b69a94a7b1643ff80df134486 ("nbd-client: Fix
> regression when server sends garbage") improved NBD client behavior when
> the connection enters a broken state.
>
> The following still does not behave as expected:
>
> $ qemu-nbd -p 1234 -x drive0 -f qcow2 test.qcow2
> $ qemu-system-x86_64 -M accel=kvm -m 1G \
> -drive if=virtio,id=drive0,file=nbd://localhost:1234/drive0,format=raw
> $ pkill qemu-nbd
> (qemu) quit
> ...hang...
>
> QEMU should be able to quit even when the connection was previously
> closed by the NBD server. Currently the nbd_read_reply_entry()
> coroutine terminates without letting in-flight requests know that the
> connection is dead.
>
> This patch flags the connection as dead so in-flight requests can
> complete.
>
> Reported-by: Longxiang Lyu <address@hidden>
> Cc: Eric Blake <address@hidden>
> Cc: Paolo Bonzini <address@hidden>
> Signed-off-by: Stefan Hajnoczi <address@hidden>
> ---
> block/nbd-client.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
This patch is superceded by "[PATCH] nbd-client: avoid spurious
qio_channel_yield() re-entry".
Stefan