[pve-devel] [PATCH qemu-server] fix #3329: turn on cache=writeback for efidisks on rbd

Dominik Csapak d.csapak at proxmox.com
Wed Jun 16 15:09:33 CEST 2021


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 <d.csapak at proxmox.com>
---
 PVE/QemuServer.pm | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index d77981c..96375c3 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
-- 
2.20.1






More information about the pve-devel mailing list