dataplane: fix hang introduced by AioContext transition
commit485e3ce88e8af0e5311dd626f399b3a1e0846dd6
authorPaolo Bonzini <pbonzini@redhat.com>
Wed, 13 Mar 2013 14:14:15 +0000 (13 15:14 +0100)
committerStefan Hajnoczi <stefanha@redhat.com>
Fri, 15 Mar 2013 15:07:51 +0000 (15 16:07 +0100)
tree60ee8446e09e288ae004f05d56513f2106338a77
parent28f082469650a0f4c0e37b4ccd6f9514b1a0698d
dataplane: fix hang introduced by AioContext transition

The bug is that the EventNotifiers do have a NULL io_flush callback.
Because _none_ of the callbacks on the dataplane AioContext have such a
callback, aio_poll will simply do nothing.  Fixed by adding the callbacks:
the ioeventfd will always be polled (this can change in the future to
pause/resume the processing during live snapshots or similar operations);
the ioqueue will be polled if there are outstanding requests.

I must admit I have screwed up my testing somehow, because commit
2c20e71 does not work even if cherry-picked on top of 1.4.0, and this
patch fixes it there as well.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
hw/dataplane/virtio-blk.c