|
From: | Eric Blake |
Subject: | Re: [PATCH v2 1/5] block/nbd: Fix hang in .bdrv_close() |
Date: | Wed, 22 Jan 2020 12:55:28 -0600 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 |
On 1/22/20 10:45 AM, Max Reitz wrote:
When nbd_close() is called from a coroutine, the connection_co never gets to run, and thus nbd_teardown_connection() hangs. This is because aio_co_enter() only puts the connection_co into the main coroutine's wake-up queue, so this main coroutine needs to yield and wait for connection_co to terminate. Suggested-by: Kevin Wolf <address@hidden> Signed-off-by: Max Reitz <address@hidden> --- block/nbd.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-)
Reviewed-by: Eric Blake <address@hidden>I'm assuming it is better to take the entire series through somewhere other than my NBD tree, since the remaining patches touch more than NBD?
-- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org
[Prev in Thread] | Current Thread | [Next in Thread] |