[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 16/18] qemu-nbd: adds option for aio engines
From: |
Stefan Hajnoczi |
Subject: |
[PULL 16/18] qemu-nbd: adds option for aio engines |
Date: |
Thu, 30 Jan 2020 21:31:12 +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>
Message-id: address@hidden
Message-Id: <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
---
docs/interop/qemu-nbd.rst | 4 ++--
qemu-nbd.c | 12 ++++--------
2 files changed, 6 insertions(+), 10 deletions(-)
diff --git a/docs/interop/qemu-nbd.rst b/docs/interop/qemu-nbd.rst
index 873bb9e17d..df7b6b9d0d 100644
--- a/docs/interop/qemu-nbd.rst
+++ b/docs/interop/qemu-nbd.rst
@@ -108,8 +108,8 @@ driver options if ``--image-opts`` is specified.
.. option:: --aio=AIO
- Set the asynchronous I/O mode between ``threads`` (the default)
- and ``native`` (Linux only).
+ Set the asynchronous I/O mode between ``threads`` (the default),
+ ``native`` (Linux only), and ``io_uring`` (Linux 5.1+).
.. option:: --discard=DISCARD
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:
--
2.24.1
- [PULL 06/18] block/block: add BDRV flag for io_uring, (continued)
- [PULL 06/18] block/block: add BDRV flag for io_uring, Stefan Hajnoczi, 2020/01/30
- [PULL 07/18] block/io_uring: implements interfaces for io_uring, Stefan Hajnoczi, 2020/01/30
- [PULL 08/18] stubs: add stubs for io_uring interface, Stefan Hajnoczi, 2020/01/30
- [PULL 09/18] util/async: add aio interfaces for io_uring, Stefan Hajnoczi, 2020/01/30
- [PULL 10/18] blockdev: adds bdrv_parse_aio to use io_uring, Stefan Hajnoczi, 2020/01/30
- [PULL 11/18] block/file-posix.c: extend to use io_uring, Stefan Hajnoczi, 2020/01/30
- [PULL 12/18] block: add trace events for io_uring, Stefan Hajnoczi, 2020/01/30
- [PULL 14/18] qemu-io: adds option to use aio engine, Stefan Hajnoczi, 2020/01/30
- [PULL 13/18] block/io_uring: adds userspace completion polling, Stefan Hajnoczi, 2020/01/30
- [PULL 15/18] qemu-img: adds option to use aio engine for benchmarking, Stefan Hajnoczi, 2020/01/30
- [PULL 16/18] qemu-nbd: adds option for aio engines,
Stefan Hajnoczi <=
- [PULL 17/18] tests/qemu-iotests: enable testing with aio options, Stefan Hajnoczi, 2020/01/30
- [PULL 18/18] tests/qemu-iotests: use AIOMODE with various tests, Stefan Hajnoczi, 2020/01/30
- Re: [PULL 00/18] Block patches, Peter Maydell, 2020/01/31