On 19/12/18 17:29, Remy NOEL wrote: >> >> >>> atomic_read(&ctx->poll_disable_cnt) + >>> poll_disable_change); >>> - aio_epoll_update(ctx, node, is_new); >>> + if (new_node) { >>> + aio_epoll_update(ctx, new_node, is_new); >>> + } >>> qemu_lockcnt_unlock(&ctx->list_lock); >>> aio_notify(ctx); >> ... so I think this should be "if (node || new_node)"? > > Well, currently, when an AioHandler is removed, we do not change > node->pdf.events (only revents). > > Therefore a call to aio_epoll_update on node will only result in a call > to epoll_ctl with EPOLL_CTL_MOD and the same event, which seems kinda > pointless. > > we may set node->pfd.events to 0 to unregister the file descriptor, but > this would change the behavior compared to current handling of node > deletion if i'm not mistaken.
You found another bug then. :) Paolo