提交 a3392f9b 编写于 作者: A aliguori

Only build compatfd when using AIO and make sure to always init AIO

OpenBSD doesn't use AIO so don't try to build compatfd when not using AIO.

Also make sure to call qemu_aio_init() from bdrv_init.  Everything that uses
bdrv calls bdrv_init so it makes sense to init aio from there instead of
in every single tool.
Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5197 c046a42c-6fe2-441c-8c8c-71466251a162
上级 5068cbd9
......@@ -177,7 +177,11 @@ QEMU_IMG_BLOCK_OBJS = $(BLOCK_OBJS)
ifdef CONFIG_WIN32
QEMU_IMG_BLOCK_OBJS += qemu-img-block-raw-win32.o
else
QEMU_IMG_BLOCK_OBJS += nbd.o qemu-img-block-raw-posix.o compatfd.o
QEMU_IMG_BLOCK_OBJS += nbd.o qemu-img-block-raw-posix.o
endif
ifdef CONFIG_AIO
QEMU_IMG_BLOCK_OBJS += compatfd.o
endif
######################################################################
......
......@@ -476,7 +476,11 @@ OBJS=vl.o osdep.o monitor.o pci.o loader.o isa_mmio.o machine.o net-checksum.o
ifdef CONFIG_WIN32
OBJS+=block-raw-win32.o
else
OBJS+=block-raw-posix.o compatfd.o
OBJS+=block-raw-posix.o
endif
ifdef CONFIG_AIO
OBJS+=compatfd.o
endif
LIBS+=-lz
......
......@@ -561,6 +561,9 @@ void qemu_aio_wait(void)
return;
#endif
if (!first_aio)
return;
do {
fd_set rdfds;
......
......@@ -1328,6 +1328,8 @@ void bdrv_init(void)
#ifndef _WIN32
bdrv_register(&bdrv_nbd);
#endif
qemu_aio_init();
}
void *qemu_aio_get(BlockDriverState *bs, BlockDriverCompletionFunc *cb,
......
......@@ -1220,6 +1220,7 @@ if test "$brlapi" = "yes" ; then
fi
if test "$aio" = "yes" ; then
echo "#define CONFIG_AIO 1" >> $config_h
echo "CONFIG_AIO=yes" >> $config_mak
fi
# XXX: suppress that
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册