* [Qemu-devel] [PATCH] aio: another fix to the walking_handlers logic
@ 2012-09-24 15:06 Paolo Bonzini
2012-09-24 15:43 ` Bharata B Rao
0 siblings, 1 reply; 2+ messages in thread
From: Paolo Bonzini @ 2012-09-24 15:06 UTC (permalink / raw)
To: qemu-devel; +Cc: kwolf, stefanha, bharata
The AIO dispatch loop will call QLIST_REMOVE and g_free even if there
are other pending calls to qemu_aio_wait outside the current one.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
This is on top of the existing fix that is posted as part of
the glusterfs series. Bharata, can you add this patch as well?
aio.c | 10 +++++-----
1 file modificato, 5 inserzioni(+), 5 rimozioni(-)
diff --git a/aio.c b/aio.c
index 99b8b72..c738a4e 100644
--- a/aio.c
+++ b/aio.c
@@ -159,14 +159,14 @@ bool qemu_aio_wait(void)
/* if we have any readable fds, dispatch event */
if (ret > 0) {
- walking_handlers++;
-
/* we have to walk very carefully in case
* qemu_aio_set_fd_handler is called while we're walking */
node = QLIST_FIRST(&aio_handlers);
while (node) {
AioHandler *tmp;
+ walking_handlers++;
+
if (!node->deleted &&
FD_ISSET(node->fd, &rdfds) &&
node->io_read) {
@@ -181,13 +181,13 @@ bool qemu_aio_wait(void)
tmp = node;
node = QLIST_NEXT(node, node);
- if (tmp->deleted) {
+ walking_handlers--;
+
+ if (!walking_handlers && tmp->deleted) {
QLIST_REMOVE(tmp, node);
g_free(tmp);
}
}
-
- walking_handlers--;
}
return true;
--
1.7.12
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Qemu-devel] [PATCH] aio: another fix to the walking_handlers logic
2012-09-24 15:06 [Qemu-devel] [PATCH] aio: another fix to the walking_handlers logic Paolo Bonzini
@ 2012-09-24 15:43 ` Bharata B Rao
0 siblings, 0 replies; 2+ messages in thread
From: Bharata B Rao @ 2012-09-24 15:43 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: kwolf, stefanha, qemu-devel
On Mon, Sep 24, 2012 at 05:06:11PM +0200, Paolo Bonzini wrote:
> The AIO dispatch loop will call QLIST_REMOVE and g_free even if there
> are other pending calls to qemu_aio_wait outside the current one.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> This is on top of the existing fix that is posted as part of
> the glusterfs series. Bharata, can you add this patch as well?
Sure, I can. Hoping that there will be consensus on URI parsing library soon
so that these aio fixes and my GlusterFS patches can be pushed in time
for 1.3.
Regards,
Bharata.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-09-24 15:41 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-24 15:06 [Qemu-devel] [PATCH] aio: another fix to the walking_handlers logic Paolo Bonzini
2012-09-24 15:43 ` Bharata B Rao
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).