From: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> It's incorrect to return success rc >= 0 if we skip qio_channel_writev_all() call due to s->quit.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Reviewed-by: Eric Blake <ebl...@redhat.com> Message-Id: <20170920124507.18841-4-vsement...@virtuozzo.com> Signed-off-by: Eric Blake <ebl...@redhat.com> --- block/nbd-client.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/block/nbd-client.c b/block/nbd-client.c index ac93c4c0d0..72651dcdb1 100644 --- a/block/nbd-client.c +++ b/block/nbd-client.c @@ -161,6 +161,8 @@ static int nbd_co_send_request(BlockDriverState *bs, NULL) < 0) { rc = -EIO; } + } else if (rc >= 0) { + rc = -EIO; } qio_channel_set_cork(s->ioc, false); } else { -- 2.13.5