]> git.proxmox.com Git - mirror_qemu.git/commitdiff
qemu-nbd: adds option for aio engines
authorAarushi Mehta <mehta.aaru20@gmail.com>
Mon, 20 Jan 2020 14:18:56 +0000 (14:18 +0000)
committerStefan Hajnoczi <stefanha@redhat.com>
Thu, 30 Jan 2020 21:01:38 +0000 (21:01 +0000)
Signed-off-by: Aarushi Mehta <mehta.aaru20@gmail.com>
Acked-by: Eric Blake <eblake@redhat.com>
Acked-by: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20200120141858.587874-14-stefanha@redhat.com
Message-Id: <20200120141858.587874-14-stefanha@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
docs/interop/qemu-nbd.rst
qemu-nbd.c

index 873bb9e17d560c387ebf11c08deab2a14cd345a8..df7b6b9d0d603b022799afd61df0697bc30c9d3f 100644 (file)
@@ -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
 
index 108a51f7eb0127d5b485107dd4be13de5c8b2d47..db29a0d0ed2503fad99075304b8e7c0d427ba2af 100644 (file)
@@ -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: