Skip to content

Commit

Permalink
Only build compatfd when using AIO and make sure to always init AIO
Browse files Browse the repository at this point in the history
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 <[email protected]>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5197 c046a42c-6fe2-441c-8c8c-71466251a162
  • Loading branch information
aliguori committed Sep 11, 2008
1 parent 5068cbd commit a3392f9
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 2 deletions.
6 changes: 5 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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

######################################################################
Expand Down
6 changes: 5 additions & 1 deletion Makefile.target
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 3 additions & 0 deletions block-raw-posix.c
Original file line number Diff line number Diff line change
Expand Up @@ -561,6 +561,9 @@ void qemu_aio_wait(void)
return;
#endif

if (!first_aio)
return;

do {
fd_set rdfds;

Expand Down
2 changes: 2 additions & 0 deletions block.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
1 change: 1 addition & 0 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit a3392f9

Please sign in to comment.