On 2/5/21 10:37 AM, Vladimir Sementsov-Ogievskiy wrote: > Just stop waiting for connection in existing requests. > > Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> > Reviewed-by: Eric Blake <ebl...@redhat.com> > --- > block/nbd.c | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/block/nbd.c b/block/nbd.c > index b3cbbeb4b0..c26dc5a54f 100644 > --- a/block/nbd.c > +++ b/block/nbd.c > @@ -2458,6 +2458,18 @@ static const char *const nbd_strong_runtime_opts[] = { > NULL > }; > > +static void nbd_cancel_in_flight(BlockDriverState *bs) > +{ > + BDRVNBDState *s = (BDRVNBDState *)bs->opaque;
This cast is not necessary in C, but it doesn't hurt. > + > + reconnect_delay_timer_del(s); > + > + if (s->state == NBD_CLIENT_CONNECTING_WAIT) { > + s->state = NBD_CLIENT_CONNECTING_NOWAIT; > + qemu_co_queue_restart_all(&s->free_sema); > + } > +} > + R-b still stands -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org