On Fri, Sep 07, 2012 at 05:11:33PM +0200, Paolo Bonzini wrote: > This is a bug that has to be fixed anyway. There are provisions in > aio.c, but they are broken apparently. Can you try this: > > diff --git a/aio.c b/aio.c > index 0a9eb10..99b8b72 100644 > --- a/aio.c > +++ b/aio.c > @@ -119,7 +119,7 @@ bool qemu_aio_wait(void) > return true; > } > > - walking_handlers = 1; > + walking_handlers++; > > FD_ZERO(&rdfds); > FD_ZERO(&wrfds); > @@ -147,7 +147,7 @@ bool qemu_aio_wait(void) > } > } > > - walking_handlers = 0; > + walking_handlers--; > > /* No AIO operations? Get us out of here */ > if (!busy) { > @@ -159,7 +159,7 @@ bool qemu_aio_wait(void) > > /* if we have any readable fds, dispatch event */ > if (ret > 0) { > - walking_handlers = 1; > + walking_handlers++; > > /* we have to walk very carefully in case > * qemu_aio_set_fd_handler is called while we're walking */ > @@ -187,7 +187,7 @@ bool qemu_aio_wait(void) > } > } > > - walking_handlers = 0; > + walking_handlers--; > } > > return true; >
This works. I am able to create qcow2 files on gluster backend with this fix. Regards, Bharata.