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> --- block/nbd-client.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/block/nbd-client.c b/block/nbd-client.c index f331f08a9a..280147e6a7 100644 --- a/block/nbd-client.c +++ b/block/nbd-client.c @@ -189,6 +189,9 @@ static int nbd_co_send_request(BlockDriverState *bs, } err: + if (rc >= 0 && s->quit) { + rc = -EIO; + } if (rc < 0) { s->quit = true; s->requests[i].coroutine = NULL; -- 2.11.1