From 6aaad2306d382956f4420648fa76885740e94a41 Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Wed, 16 Jun 2021 15:09:33 +0200 Subject: [PATCH] fix #3329: turn on cache=writeback for efidisks on rbd on slower ceph clusters, the write pattern of the ovmf booting process slows down the boot of the vm, so we turn on caching by default it seems no other storage (until now) behaves like this. if it does in the future, we can still add them too, or add a 'cache' property for the efidisk Signed-off-by: Dominik Csapak --- PVE/QemuServer.pm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index d77981c7..96375c3e 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -3307,8 +3307,16 @@ sub config_to_command { $size_str = ",size=" . (-s $ovmf_vars); } + # on slower ceph clusters, booting without cache on efidisk can take a while. + # enable cache by default, should not be harmful since it's only the efidisk + # see #3329 + my $cache = ""; + if ($path =~ m/^rbd:/) { + $cache = ',cache=writeback'; + } + push @$cmd, '-drive', "if=pflash,unit=0,format=raw,readonly=on,file=$ovmf_code"; - push @$cmd, '-drive', "if=pflash,unit=1,format=$format,id=drive-efidisk0$size_str,file=$path"; + push @$cmd, '-drive', "if=pflash,unit=1$cache,format=$format,id=drive-efidisk0$size_str,file=$path"; } # load q35 config