]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
raw-posix: Deprecate aio=threads fallback without O_DIRECT
authorKevin Wolf <kwolf@redhat.com>
Tue, 17 Mar 2015 12:45:21 +0000 (13:45 +0100)
committerKevin Wolf <kwolf@redhat.com>
Thu, 19 Mar 2015 11:30:56 +0000 (12:30 +0100)
Currently, if the user requests aio=native, but forgets to choose a
cache mode that sets O_DIRECT, that request is silently ignored and raw
falls back to aio=threads.

Deprecate that behaviour so we can make it an error in future qemu
versions.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
block/raw-posix.c

index 844ac21082fad5d659f976d1637f52d97e251aa5..24d85826c484bc25bf9e1f46a391da082601fa6e 100644 (file)
@@ -503,6 +503,14 @@ static int raw_open_common(BlockDriverState *bs, QDict *options,
         error_setg_errno(errp, -ret, "Could not set AIO state");
         goto fail;
     }
+    if (!s->use_aio && (bdrv_flags & BDRV_O_NATIVE_AIO)) {
+        error_printf("WARNING: aio=native was specified for '%s', but "
+                     "it requires cache.direct=on, which was not "
+                     "specified. Falling back to aio=threads.\n"
+                     "         This will become an error condition in "
+                     "future QEMU versions.\n",
+                     bs->filename);
+    }
 #endif
 
     s->has_discard = true;