[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 04/11] nbd: Mark fd handlers client type as "nbd
From: |
Fam Zheng |
Subject: |
[Qemu-devel] [PATCH v2 04/11] nbd: Mark fd handlers client type as "nbd server" |
Date: |
Wed, 29 Jul 2015 12:42:07 +0800 |
So we could distinguish it from "protocol" to avoid handling in nested aio
polls.
Signed-off-by: Fam Zheng <address@hidden>
---
include/block/aio.h | 1 +
nbd.c | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/include/block/aio.h b/include/block/aio.h
index d02ddfa..8b15105 100644
--- a/include/block/aio.h
+++ b/include/block/aio.h
@@ -274,6 +274,7 @@ bool aio_dispatch(AioContext *ctx);
#define AIO_CLIENT_UNSPECIFIED (1 << 0)
#define AIO_CLIENT_PROTOCOL (1 << 1)
+#define AIO_CLIENT_NBD_SERVER (1 << 2)
#define AIO_CLIENT_MASK_ALL -1
/* Progress in completing AIO work to occur. This can issue new pending
diff --git a/nbd.c b/nbd.c
index 64ed91b..7b38334 100644
--- a/nbd.c
+++ b/nbd.c
@@ -1437,7 +1437,7 @@ static void nbd_set_handlers(NBDClient *client)
{
if (client->exp && client->exp->ctx) {
aio_set_fd_handler(client->exp->ctx, client->sock,
- AIO_CLIENT_UNSPECIFIED,
+ AIO_CLIENT_NBD_SERVER,
client->can_read ? nbd_read : NULL,
client->send_coroutine ? nbd_restart_write : NULL,
client);
@@ -1448,7 +1448,7 @@ static void nbd_unset_handlers(NBDClient *client)
{
if (client->exp && client->exp->ctx) {
aio_set_fd_handler(client->exp->ctx, client->sock,
- AIO_CLIENT_UNSPECIFIED, NULL, NULL, NULL);
+ AIO_CLIENT_NBD_SERVER, NULL, NULL, NULL);
}
}
--
2.4.3
- [Qemu-devel] [PATCH v2 00/11] aio: Introduce handler type to fix nested aio_poll for dataplane, Fam Zheng, 2015/07/29
- [Qemu-devel] [PATCH v2 02/11] aio: Save type to AioHandler, Fam Zheng, 2015/07/29
- [Qemu-devel] [PATCH v2 04/11] nbd: Mark fd handlers client type as "nbd server",
Fam Zheng <=
- [Qemu-devel] [PATCH v2 01/11] aio: Introduce "type" in aio_set_fd_handler and aio_set_event_notifier, Fam Zheng, 2015/07/29
- [Qemu-devel] [PATCH v2 03/11] block: Mark fd handlers as "protocol", Fam Zheng, 2015/07/29
- [Qemu-devel] [PATCH v2 05/11] aio: Mark ctx->notifier's client type as "context", Fam Zheng, 2015/07/29
- [Qemu-devel] [PATCH v2 06/11] dataplane: Mark host notifiers' client type as "dataplane", Fam Zheng, 2015/07/29
- [Qemu-devel] [PATCH v2 07/11] aio-posix: introduce aio_{disable, enable}_clients, Fam Zheng, 2015/07/29
- [Qemu-devel] [PATCH v2 08/11] aio-win32: Implement aio_{disable, enable}_clients, Fam Zheng, 2015/07/29
- [Qemu-devel] [PATCH v2 09/11] block: Introduce bdrv_aio_poll, Fam Zheng, 2015/07/29
- [Qemu-devel] [PATCH v2 10/11] block: Replace nested aio_poll with bdrv_aio_poll, Fam Zheng, 2015/07/29
- [Qemu-devel] [PATCH v2 11/11] block: Only poll block layer fds in bdrv_aio_poll, Fam Zheng, 2015/07/29