[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH v2 5/7] block/nbd-client: nbd_co_send_request: retur
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
[Qemu-block] [PATCH v2 5/7] block/nbd-client: nbd_co_send_request: return -EIO if s->quit was set in parallel |
Date: |
Mon, 9 Oct 2017 20:27:15 +0300 |
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 <address@hidden>
---
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
- [Qemu-block] [PATCH v2 02/10] block/nbd-client: refactor nbd_co_receive_reply, (continued)
- [Qemu-block] [PATCH v2 02/10] block/nbd-client: refactor nbd_co_receive_reply, Vladimir Sementsov-Ogievskiy, 2017/10/09
- [Qemu-block] [PATCH v2 05/10] nbd: header constants indenting, Vladimir Sementsov-Ogievskiy, 2017/10/09
- [Qemu-block] [PATCH v2 4/7] block/nbd-client: drop reply field from NBDClientSession, Vladimir Sementsov-Ogievskiy, 2017/10/09
- [Qemu-block] [PATCH v2 6/7] block/nbd-client: early fail nbd_read_reply_entry if s->quit is set, Vladimir Sementsov-Ogievskiy, 2017/10/09
- [Qemu-block] [PATCH v2 3/7] block/nbd-client: refactor reading reply, Vladimir Sementsov-Ogievskiy, 2017/10/09
- [Qemu-block] [PATCH v2 09/10] nbd/client: prepare nbd_receive_reply for structured reply, Vladimir Sementsov-Ogievskiy, 2017/10/09
- [Qemu-block] [PATCH v2 03/10] nbd: rename NBD_REPLY_MAGIC to NBD_SIMPLE_REPLY_MAGIC, Vladimir Sementsov-Ogievskiy, 2017/10/09
- [Qemu-block] [PATCH v2 1/7] block/nbd-client: refactor nbd_co_receive_reply, Vladimir Sementsov-Ogievskiy, 2017/10/09
- [Qemu-block] [PATCH v2 2/7] block/nbd-client: exit reply-reading coroutine on incorrect handle, Vladimir Sementsov-Ogievskiy, 2017/10/09
- [Qemu-block] [PATCH v2 5/7] block/nbd-client: nbd_co_send_request: return -EIO if s->quit was set in parallel,
Vladimir Sementsov-Ogievskiy <=
- [Qemu-block] [PATCH v2 10/10] nbd: Minimal structured read for client, Vladimir Sementsov-Ogievskiy, 2017/10/09
- Re: [Qemu-block] [PATCH v2 10/10] nbd: Minimal structured read for client, Vladimir Sementsov-Ogievskiy, 2017/10/11
- Re: [Qemu-block] [PATCH v2 10/10] nbd: Minimal structured read for client, Vladimir Sementsov-Ogievskiy, 2017/10/10
[Qemu-block] [PATCH v2 04/10] nbd-server: refactor simple reply sending, Vladimir Sementsov-Ogievskiy, 2017/10/09