Hi all! Here is a try of moving to non-blocking negotiation in nbd code, proposed by Deniel in https://lists.gnu.org/archive/html/qemu-devel/2019-01/msg03817.html
in thread "[PATCH v4 00/10] NBD reconnect" https://lists.gnu.org/archive/html/qemu-devel/2018-07/msg05973.html Vladimir Sementsov-Ogievskiy (4): io/channel: add qio_channel_get_attached_aio_context() nbd/client: do negotiation in coroutine nbd: do qemu_coroutine_yield during tls handshake block/nbd-client: use non-blocking io channel for nbd negotiation include/io/channel.h | 9 +++ block/nbd-client.c | 10 +-- io/channel.c | 5 ++ nbd/client.c | 149 ++++++++++++++++++++++++++++++++++--------- nbd/common.c | 6 +- nbd/server.c | 45 +++++-------- nbd/trace-events | 15 ++--- 7 files changed, 161 insertions(+), 78 deletions(-) -- 2.18.0