[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 1/5] block/nbd: Fix hang in .bdrv_close()

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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]