[pve-devel] [PATCH qemu-server 10/15] blockdev: add support for 'size' option

Fiona Ebner f.ebner at proxmox.com
Mon Jun 23 17:44:20 CEST 2025


For EFI disks in raw format, it is necessary to specify a precise size
and have no padding. See commit 818ce80e ("fix efidisks on storages with
minimum sizes bigger than OVMF_VARS.fd") for details.

Signed-off-by: Fiona Ebner <f.ebner at proxmox.com>
---
 src/PVE/QemuServer/Blockdev.pm | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/PVE/QemuServer/Blockdev.pm b/src/PVE/QemuServer/Blockdev.pm
index f096f9d1..6e6b9245 100644
--- a/src/PVE/QemuServer/Blockdev.pm
+++ b/src/PVE/QemuServer/Blockdev.pm
@@ -185,13 +185,20 @@ sub generate_format_blockdev {
 
     my $node_name = get_node_name('fmt', $drive_id, $drive->{file}, $options->{'snapshot-name'});
 
-    return {
+    my $blockdev = {
         'node-name' => "$node_name",
         driver => "$format",
         file => $child,
         cache => $child->{cache}, # define cache option on both format && file node like libvirt
         'read-only' => read_only_json_option($drive, $options),
     };
+
+    if (defined($options->{size})) {
+        die "blockdev: 'size' is only supported for 'raw' format" if $format ne 'raw';
+        $blockdev->{size} = int($options->{size});
+    }
+
+    return $blockdev;
 }
 
 sub generate_drive_blockdev {
-- 
2.47.2





More information about the pve-devel mailing list