From: Aarushi Mehta Date: Mon, 20 Jan 2020 14:18:56 +0000 (+0000) Subject: qemu-nbd: adds option for aio engines X-Git-Tag: v5.0.0-rc0~116^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7680274da1357c559373c2e14e13f3a5bf4fa100;p=thirdparty%2Fqemu.git qemu-nbd: adds option for aio engines Signed-off-by: Aarushi Mehta Acked-by: Eric Blake Acked-by: Stefano Garzarella Signed-off-by: Stefan Hajnoczi Message-id: 20200120141858.587874-14-stefanha@redhat.com Message-Id: <20200120141858.587874-14-stefanha@redhat.com> Signed-off-by: Stefan Hajnoczi --- diff --git a/docs/interop/qemu-nbd.rst b/docs/interop/qemu-nbd.rst index 873bb9e17d5..df7b6b9d0d6 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 108a51f7eb0..db29a0d0ed2 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: