Don't compile aio code if CONFIG_LINUX_AIO is undefined
authorStefan Weil <weil@mail.berlios.de>
Fri, 28 Aug 2009 12:39:31 +0000 (14:39 +0200)
committerAnthony Liguori <aliguori@us.ibm.com>
Fri, 28 Aug 2009 13:57:49 +0000 (08:57 -0500)
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>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
block/raw-posix.c

index 8a7dc15..2125d67 100644 (file)
@@ -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
     }
 
     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
         }
     }