From 125f69618d9b00a151ee17d83cedf08229a309fc Mon Sep 17 00:00:00 2001 From: guping Date: Thu, 13 Nov 2025 10:30:23 +0800 Subject: [PATCH] aio: remove aio_context_use_g_source() There is no need for aio_context_use_g_source() now that epoll(7) and io_uring(7) file descriptor monitoring works with the glib event loop. AioContext doesn't need to be notified that GSource is being used. On hosts with io_uring support this now enables fdmon-io_uring.c by default, replacing fdmon-poll.c and fdmon-epoll.c. In other words, the event loop will use io_uring! Signed-off-by: Stefan Hajnoczi Reviewed-by: Eric Blake Reviewed-by: Kevin Wolf Message-ID: <20251104022933.618123-8-stefanha@redhat.com> Signed-off-by: Kevin Wolf Signed-off-by: guping --- include/block/aio.h | 3 --- util/aio-posix.c | 12 ------------ util/aio-win32.c | 4 ---- util/async.c | 1 - 4 files changed, 20 deletions(-) diff --git a/include/block/aio.h b/include/block/aio.h index f08b358077..520ceaa700 100644 --- a/include/block/aio.h +++ b/include/block/aio.h @@ -694,9 +694,6 @@ void aio_context_setup(AioContext *ctx); */ void aio_context_destroy(AioContext *ctx); -/* Used internally, do not call outside AioContext code */ -void aio_context_use_g_source(AioContext *ctx); - /** * aio_context_set_poll_params: * @ctx: the aio context diff --git a/util/aio-posix.c b/util/aio-posix.c index 7f2c99729d..d68dffcf0b 100644 --- a/util/aio-posix.c +++ b/util/aio-posix.c @@ -751,18 +751,6 @@ void aio_context_destroy(AioContext *ctx) aio_free_deleted_handlers(ctx); } -void aio_context_use_g_source(AioContext *ctx) -{ - /* - * Disable io_uring when the glib main loop is used because it doesn't - * support mixed glib/aio_poll() usage. It relies on aio_poll() being - * called regularly so that changes to the monitored file descriptors are - * submitted, otherwise a list of pending fd handlers builds up. - */ - fdmon_io_uring_destroy(ctx); - aio_free_deleted_handlers(ctx); -} - void aio_context_set_poll_params(AioContext *ctx, int64_t max_ns, int64_t grow, int64_t shrink, Error **errp) { diff --git a/util/aio-win32.c b/util/aio-win32.c index 948ef47a4d..1014e7a902 100644 --- a/util/aio-win32.c +++ b/util/aio-win32.c @@ -426,10 +426,6 @@ void aio_context_destroy(AioContext *ctx) { } -void aio_context_use_g_source(AioContext *ctx) -{ -} - void aio_context_set_poll_params(AioContext *ctx, int64_t max_ns, int64_t grow, int64_t shrink, Error **errp) { diff --git a/util/async.c b/util/async.c index 8f90ddc304..5a757c8a6e 100644 --- a/util/async.c +++ b/util/async.c @@ -427,7 +427,6 @@ static GSourceFuncs aio_source_funcs = { GSource *aio_get_g_source(AioContext *ctx) { - aio_context_use_g_source(ctx); g_source_ref(&ctx->source); return &ctx->source; } -- Gitee