]> git.proxmox.com Git - qemu-server.git/commitdiff
cfg2cmd/drive: don't use io_uring for krbd with wb/wt cache
authorStefan Reiter <s.reiter@proxmox.com>
Wed, 30 Jun 2021 15:18:17 +0000 (17:18 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 1 Jul 2021 07:40:51 +0000 (09:40 +0200)
As reported here and locally reproduced:
https://forum.proxmox.com/threads/efi-vms-wont-start-under-7-beta-with-writeback-cache.91629/

This configuration is currently broken. Until we figure out how to fix
it properly, we can just have this (luckily very narrow) config pattern
fall back to aio=threads as it used to.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
PVE/QemuServer.pm

index 8af41765a5dc81484fb17e202693dd0a9c545901..f76046740b6f02a31130c9fd6a9aae3ec84da601 100644 (file)
@@ -1600,8 +1600,11 @@ sub print_drive_commandline_full {
        $cache_direct = 1;
     }
 
+    # io_uring with cache mode writeback or writethrough on krbd will hang...
+    my $rbd_no_io_uring = $scfg && $scfg->{type} eq 'rbd' && $scfg->{krbd} && !$cache_direct;
+
     if (!$drive->{aio}) {
-       if ($io_uring) {
+       if ($io_uring && !$rbd_no_io_uring) {
            # io_uring supports all cache modes
            $opts .= ",aio=io_uring";
        } else {