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,7 +177,11 @@ QEMU_IMG_BLOCK_OBJS = $(BLOCK_OBJS)
177 ifdef CONFIG_WIN32 177 ifdef CONFIG_WIN32
178 QEMU_IMG_BLOCK_OBJS += qemu-img-block-raw-win32.o 178 QEMU_IMG_BLOCK_OBJS += qemu-img-block-raw-win32.o
179 else 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 endif 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,7 +476,11 @@ OBJS=vl.o osdep.o monitor.o pci.o loader.o isa_mmio.o machine.o net-checksum.o
476 ifdef CONFIG_WIN32 476 ifdef CONFIG_WIN32
477 OBJS+=block-raw-win32.o 477 OBJS+=block-raw-win32.o
478 else 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 endif 484 endif
481 485
482 LIBS+=-lz 486 LIBS+=-lz
block-raw-posix.c
@@ -561,6 +561,9 @@ void qemu_aio_wait(void) @@ -561,6 +561,9 @@ void qemu_aio_wait(void)
561 return; 561 return;
562 #endif 562 #endif
563 563
  564 + if (!first_aio)
  565 + return;
  566 +
564 do { 567 do {
565 fd_set rdfds; 568 fd_set rdfds;
566 569
@@ -1328,6 +1328,8 @@ void bdrv_init(void) @@ -1328,6 +1328,8 @@ void bdrv_init(void)
1328 #ifndef _WIN32 1328 #ifndef _WIN32
1329 bdrv_register(&bdrv_nbd); 1329 bdrv_register(&bdrv_nbd);
1330 #endif 1330 #endif
  1331 +
  1332 + qemu_aio_init();
1331 } 1333 }
1332 1334
1333 void *qemu_aio_get(BlockDriverState *bs, BlockDriverCompletionFunc *cb, 1335 void *qemu_aio_get(BlockDriverState *bs, BlockDriverCompletionFunc *cb,
configure
@@ -1220,6 +1220,7 @@ if test &quot;$brlapi&quot; = &quot;yes&quot; ; then @@ -1220,6 +1220,7 @@ if test &quot;$brlapi&quot; = &quot;yes&quot; ; then
1220 fi 1220 fi
1221 if test "$aio" = "yes" ; then 1221 if test "$aio" = "yes" ; then
1222 echo "#define CONFIG_AIO 1" >> $config_h 1222 echo "#define CONFIG_AIO 1" >> $config_h
  1223 + echo "CONFIG_AIO=yes" >> $config_mak
1223 fi 1224 fi
1224 1225
1225 # XXX: suppress that 1226 # XXX: suppress that