Commit a3392f9b100e6b63616922a8b30ad9643c62785a

Authored by aliguori
1 parent 5068cbd9

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: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5197 c046a42c-6fe2-441c-8c8c-71466251a162
Makefile
... ... @@ -177,7 +177,11 @@ QEMU_IMG_BLOCK_OBJS = $(BLOCK_OBJS)
177 177 ifdef CONFIG_WIN32
178 178 QEMU_IMG_BLOCK_OBJS += qemu-img-block-raw-win32.o
179 179 else
180   -QEMU_IMG_BLOCK_OBJS += nbd.o qemu-img-block-raw-posix.o compatfd.o
  180 +QEMU_IMG_BLOCK_OBJS += nbd.o qemu-img-block-raw-posix.o
  181 +endif
  182 +
  183 +ifdef CONFIG_AIO
  184 +QEMU_IMG_BLOCK_OBJS += compatfd.o
181 185 endif
182 186  
183 187 ######################################################################
... ...
Makefile.target
... ... @@ -476,7 +476,11 @@ OBJS=vl.o osdep.o monitor.o pci.o loader.o isa_mmio.o machine.o net-checksum.o
476 476 ifdef CONFIG_WIN32
477 477 OBJS+=block-raw-win32.o
478 478 else
479   -OBJS+=block-raw-posix.o compatfd.o
  479 +OBJS+=block-raw-posix.o
  480 +endif
  481 +
  482 +ifdef CONFIG_AIO
  483 +OBJS+=compatfd.o
480 484 endif
481 485  
482 486 LIBS+=-lz
... ...
block-raw-posix.c
... ... @@ -561,6 +561,9 @@ void qemu_aio_wait(void)
561 561 return;
562 562 #endif
563 563  
  564 + if (!first_aio)
  565 + return;
  566 +
564 567 do {
565 568 fd_set rdfds;
566 569  
... ...
... ... @@ -1328,6 +1328,8 @@ void bdrv_init(void)
1328 1328 #ifndef _WIN32
1329 1329 bdrv_register(&bdrv_nbd);
1330 1330 #endif
  1331 +
  1332 + qemu_aio_init();
1331 1333 }
1332 1334  
1333 1335 void *qemu_aio_get(BlockDriverState *bs, BlockDriverCompletionFunc *cb,
... ...
configure
... ... @@ -1220,6 +1220,7 @@ if test &quot;$brlapi&quot; = &quot;yes&quot; ; then
1220 1220 fi
1221 1221 if test "$aio" = "yes" ; then
1222 1222 echo "#define CONFIG_AIO 1" >> $config_h
  1223 + echo "CONFIG_AIO=yes" >> $config_mak
1223 1224 fi
1224 1225  
1225 1226 # XXX: suppress that
... ...