diff options
author | Frediano Ziglio <freddy77@gmail.com> | 2011-08-30 09:46:11 +0200 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2011-09-06 11:23:51 +0200 |
commit | c30e624d5d04efdb581c841f9bf8b06302b96575 (patch) | |
tree | c8d52ebaac8687324a86a368a2076623f5ee7fc4 | |
parent | f69539b14bdba7a5cd22e1f4bed439b476b17286 (diff) |
linux aio: some comments
Add some notes about Linux AIO explaining why we don't use AIO in
some situations.
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
-rw-r--r-- | block/raw-posix.c | 4 | ||||
-rw-r--r-- | linux-aio.c | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/block/raw-posix.c b/block/raw-posix.c index c5c99446c0..bcf50b2cf7 100644 --- a/block/raw-posix.c +++ b/block/raw-posix.c @@ -236,6 +236,10 @@ static int raw_open_common(BlockDriverState *bs, const char *filename, } #ifdef CONFIG_LINUX_AIO + /* + * Currently Linux do AIO only for files opened with O_DIRECT + * specified so check NOCACHE flag too + */ if ((bdrv_flags & (BDRV_O_NOCACHE|BDRV_O_NATIVE_AIO)) == (BDRV_O_NOCACHE|BDRV_O_NATIVE_AIO)) { diff --git a/linux-aio.c b/linux-aio.c index 5fd39327b3..5265a029b2 100644 --- a/linux-aio.c +++ b/linux-aio.c @@ -181,6 +181,7 @@ BlockDriverAIOCB *laio_submit(BlockDriverState *bs, void *aio_ctx, int fd, case QEMU_AIO_READ: io_prep_preadv(iocbs, fd, qiov->iov, qiov->niov, offset); break; + /* Currently Linux kernel does not support other operations */ default: fprintf(stderr, "%s: invalid AIO request type 0x%x.\n", __func__, type); |