Patchwork Don't compile aio code if CONFIG_LINUX_AIO is undefined

login
register
mail settings
Submitter Stefan Weil
Date Aug. 28, 2009, 12:51 p.m.
Message ID <4A97D2DA.6070905@mail.berlios.de>
Download mbox | patch
Permalink /patch/32358/
State Superseded
Headers show

Comments

Stefan Weil - Aug. 28, 2009, 12:51 p.m.
This patch fixes linker errors when building QEMU without Linux AIO support.

It is based on suggestions from malc and Kevin Wolf.

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
---
 block/raw-posix.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

     return 0;
@@ -542,9 +546,11 @@ static BlockDriverAIOCB
*raw_aio_submit(BlockDriverState *bs,
     if (s->aligned_buf) {
         if (!qiov_is_aligned(qiov)) {
             type |= QEMU_AIO_MISALIGNED;
+#ifdef CONFIG_LINUX_AIO
         } else if (s->use_aio) {
             return laio_submit(bs, s->aio_ctx, s->fd, sector_num, qiov,
-	                       nb_sectors, cb, opaque, type);
+                               nb_sectors, cb, opaque, type);
+#endif
         }
     }

Patch

diff --git a/block/raw-posix.c b/block/raw-posix.c
index 8a7dc15..2125d67 100644
--- a/block/raw-posix.c
+++ b/block/raw-posix.c
@@ -115,7 +115,9 @@  typedef struct BDRVRawState {
     int fd_got_error;
     int fd_media_changed;
 #endif
+#ifdef CONFIG_LINUX_AIO
     int use_aio;
+#endif
     uint8_t* aligned_buf;
 } BDRVRawState;

@@ -183,7 +185,9 @@  static int raw_open_common(BlockDriverState *bs,
const char *filename,
         if (!s->aio_ctx) {
             goto out_free_buf;
         }
+#ifdef CONFIG_LINUX_AIO
         s->use_aio = 0;
+#endif
     }