From a76bab4952a1539266490295fb50b78802c467c2 Mon Sep 17 00:00:00 2001 From: aliguori Date: Mon, 22 Sep 2008 19:17:18 +0000 Subject: Refactor AIO to allow multiple AIO implementations This patch refactors the AIO layer to allow multiple AIO implementations. It's only possible because of the recent signalfd() patch. Right now, the AIO infrastructure is pretty specific to the block raw backend. For other block devices to implement AIO, the qemu_aio_wait function must support registration. This patch introduces a new function, qemu_aio_set_fd_handler, which can be used to register a file descriptor to be called back. qemu_aio_wait() now polls a set of file descriptors registered with this function until one becomes readable or writable. This patch should allow the implementation of alternative AIO backends (via a thread pool or linux-aio) and AIO backends in non-traditional block devices (like NBD). Signed-off-by: Anthony Liguori git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5297 c046a42c-6fe2-441c-8c8c-71466251a162 --- block.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'block.c') diff --git a/block.c b/block.c index 15f807a0ca..27b39d65d8 100644 --- a/block.c +++ b/block.c @@ -1310,8 +1310,6 @@ void bdrv_init(void) bdrv_register(&bdrv_qcow2); bdrv_register(&bdrv_parallels); bdrv_register(&bdrv_nbd); - - qemu_aio_init(); } void *qemu_aio_get(BlockDriverState *bs, BlockDriverCompletionFunc *cb, -- cgit v1.2.1