QLIST_SAFE_REMOVE() is confusing here because the node must be on the list. We actually just wanted to clear the linked list pointers when removing it from the list. QLIST_REMOVE() now does this, so switch to it.
Suggested-by: Paolo Bonzini <[email protected]> Signed-off-by: Stefan Hajnoczi <[email protected]> Link: https://lore.kernel.org/r/[email protected] Message-Id: <[email protected]> --- util/aio-posix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/aio-posix.c b/util/aio-posix.c index 9e1befc0c0..b339aab12c 100644 --- a/util/aio-posix.c +++ b/util/aio-posix.c @@ -493,7 +493,7 @@ static bool aio_dispatch_ready_handlers(AioContext *ctx, AioHandler *node; while ((node = QLIST_FIRST(ready_list))) { - QLIST_SAFE_REMOVE(node, node_ready); + QLIST_REMOVE(node, node_ready); progress = aio_dispatch_handler(ctx, node) || progress; } -- 2.24.1
