[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 6/7] block/nbd-client: early fail nbd_read_reply_
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
[Qemu-devel] [PATCH v2 6/7] block/nbd-client: early fail nbd_read_reply_entry if s->quit is set |
Date: |
Mon, 9 Oct 2017 20:27:17 +0300 |
Do not continue any operation if s->quit is set in parallel.
Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
---
block/nbd-client.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/block/nbd-client.c b/block/nbd-client.c
index 280147e6a7..f80a4c5564 100644
--- a/block/nbd-client.c
+++ b/block/nbd-client.c
@@ -81,7 +81,7 @@ static coroutine_fn void nbd_read_reply_entry(void *opaque)
if (ret < 0) {
error_report_err(local_err);
}
- if (ret <= 0) {
+ if (ret <= 0 || s->quit) {
break;
}
@@ -105,9 +105,8 @@ static coroutine_fn void nbd_read_reply_entry(void *opaque)
assert(qiov != NULL);
assert(s->requests[i].request->len ==
iov_size(qiov->iov, qiov->niov));
- if (qio_channel_readv_all(s->ioc, qiov->iov, qiov->niov,
- NULL) < 0)
- {
+ ret = qio_channel_readv_all(s->ioc, qiov->iov, qiov->niov, NULL);
+ if (ret < 0 || s->quit) {
s->requests[i].ret = -EIO;
break;
}
--
2.11.1
- [Qemu-devel] [PATCH v2 00/10] nbd minimal structured read, Vladimir Sementsov-Ogievskiy, 2017/10/09
- [Qemu-devel] [PATCH v2 5/7] block/nbd-client: nbd_co_send_request: return -EIO if s->quit was set in parallel, Vladimir Sementsov-Ogievskiy, 2017/10/09
- [Qemu-devel] [PATCH v2 2/7] block/nbd-client: exit reply-reading coroutine on incorrect handle, Vladimir Sementsov-Ogievskiy, 2017/10/09
- [Qemu-devel] [PATCH v2 6/7] block/nbd-client: early fail nbd_read_reply_entry if s->quit is set,
Vladimir Sementsov-Ogievskiy <=
- [Qemu-devel] [PATCH v2 7/7] block/nbd-client: do not yield from nbd_read_reply_entry, Vladimir Sementsov-Ogievskiy, 2017/10/09
- [Qemu-devel] [PATCH v2 08/10] nbd: share some nbd entities to be reused in block/nbd-client.c, Vladimir Sementsov-Ogievskiy, 2017/10/09
- [Qemu-devel] [PATCH v2 1/7] block/nbd-client: refactor nbd_co_receive_reply, Vladimir Sementsov-Ogievskiy, 2017/10/09
- [Qemu-devel] [PATCH v2 09/10] nbd/client: prepare nbd_receive_reply for structured reply, Vladimir Sementsov-Ogievskiy, 2017/10/09
- [Qemu-devel] [PATCH v2 03/10] nbd: rename NBD_REPLY_MAGIC to NBD_SIMPLE_REPLY_MAGIC, Vladimir Sementsov-Ogievskiy, 2017/10/09
- [Qemu-devel] [PATCH v2 4/7] block/nbd-client: drop reply field from NBDClientSession, Vladimir Sementsov-Ogievskiy, 2017/10/09
- [Qemu-devel] [PATCH v2 04/10] nbd-server: refactor simple reply sending, Vladimir Sementsov-Ogievskiy, 2017/10/09