[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 13/15] qemu-nbd: adds option for aio engines
From: |
Stefan Hajnoczi |
Subject: |
[PATCH v4 13/15] qemu-nbd: adds option for aio engines |
Date: |
Tue, 14 Jan 2020 10:59:19 +0000 |
From: Aarushi Mehta <address@hidden>
Signed-off-by: Aarushi Mehta <address@hidden>
Acked-by: Eric Blake <address@hidden>
Acked-by: Stefano Garzarella <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
---
qemu-nbd.c | 12 ++++--------
qemu-nbd.texi | 4 ++--
2 files changed, 6 insertions(+), 10 deletions(-)
diff --git a/qemu-nbd.c b/qemu-nbd.c
index 108a51f7eb..db29a0d0ed 100644
--- a/qemu-nbd.c
+++ b/qemu-nbd.c
@@ -135,7 +135,7 @@ static void usage(const char *name)
" '[ID_OR_NAME]'\n"
" -n, --nocache disable host cache\n"
" --cache=MODE set cache mode (none, writeback, ...)\n"
-" --aio=MODE set AIO mode (native or threads)\n"
+" --aio=MODE set AIO mode (native, io_uring or threads)\n"
" --discard=MODE set discard mode (ignore, unmap)\n"
" --detect-zeroes=MODE set detect-zeroes mode (off, on, unmap)\n"
" --image-opts treat FILE as a full set of image options\n"
@@ -726,13 +726,9 @@ int main(int argc, char **argv)
exit(EXIT_FAILURE);
}
seen_aio = true;
- if (!strcmp(optarg, "native")) {
- flags |= BDRV_O_NATIVE_AIO;
- } else if (!strcmp(optarg, "threads")) {
- /* this is the default */
- } else {
- error_report("invalid aio mode `%s'", optarg);
- exit(EXIT_FAILURE);
+ if (bdrv_parse_aio(optarg, &flags) < 0) {
+ error_report("Invalid aio mode '%s'", optarg);
+ exit(EXIT_FAILURE);
}
break;
case QEMU_NBD_OPT_DISCARD:
diff --git a/qemu-nbd.texi b/qemu-nbd.texi
index 7f55657722..3ee3e4bdee 100644
--- a/qemu-nbd.texi
+++ b/qemu-nbd.texi
@@ -77,8 +77,8 @@ as an read-only device, @var{snapshot_param} format is
The cache mode to be used with the file. See the documentation of
the emulator's @code{-drive cache=...} option for allowed values.
@item --aio=@var{aio}
-Set the asynchronous I/O mode between @samp{threads} (the default)
-and @samp{native} (Linux only).
+Set the asynchronous I/O mode between @samp{threads} (the default),
+@samp{native} (Linux only) and @samp{io_uring} (Linux 5.1+).
@item --discard=@var{discard}
Control whether @dfn{discard} (also known as @dfn{trim} or @dfn{unmap})
requests are ignored or passed to the filesystem. @var{discard} is one of
--
2.24.1
- [PATCH v4 03/15] block/block: add BDRV flag for io_uring, (continued)
- [PATCH v4 03/15] block/block: add BDRV flag for io_uring, Stefan Hajnoczi, 2020/01/14
- [PATCH v4 04/15] block/io_uring: implements interfaces for io_uring, Stefan Hajnoczi, 2020/01/14
- [PATCH v4 05/15] stubs: add stubs for io_uring interface, Stefan Hajnoczi, 2020/01/14
- [PATCH v4 06/15] util/async: add aio interfaces for io_uring, Stefan Hajnoczi, 2020/01/14
- [PATCH v4 07/15] blockdev: adds bdrv_parse_aio to use io_uring, Stefan Hajnoczi, 2020/01/14
- [PATCH v4 08/15] block/file-posix.c: extend to use io_uring, Stefan Hajnoczi, 2020/01/14
- [PATCH v4 10/15] block/io_uring: adds userspace completion polling, Stefan Hajnoczi, 2020/01/14
- [PATCH v4 09/15] block: add trace events for io_uring, Stefan Hajnoczi, 2020/01/14
- [PATCH v4 11/15] qemu-io: adds option to use aio engine, Stefan Hajnoczi, 2020/01/14
- [PATCH v4 12/15] qemu-img: adds option to use aio engine for benchmarking, Stefan Hajnoczi, 2020/01/14
- [PATCH v4 13/15] qemu-nbd: adds option for aio engines,
Stefan Hajnoczi <=
- [PATCH v4 14/15] tests/qemu-iotests: enable testing with aio options, Stefan Hajnoczi, 2020/01/14
- [PATCH v4 15/15] tests/qemu-iotests: use AIOMODE with various tests, Stefan Hajnoczi, 2020/01/14
- Re: [PATCH v4 00/15] io_uring: add Linux io_uring AIO engine, Stefan Hajnoczi, 2020/01/20