The zeroinit filter is used for cloning/mirroring and importing with target volumes that are known to produce zeros when reading parts that were not written before and can be helpful for performance.
Since it is the target of the mirror, it won't have a 'throttle' node associated with it, but be added as a top node itself. Therefore, it requires an explicit node-name. Signed-off-by: Fiona Ebner <f.eb...@proxmox.com> --- src/PVE/QemuServer/Blockdev.pm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/PVE/QemuServer/Blockdev.pm b/src/PVE/QemuServer/Blockdev.pm index 716a0ac9..493f67c1 100644 --- a/src/PVE/QemuServer/Blockdev.pm +++ b/src/PVE/QemuServer/Blockdev.pm @@ -26,6 +26,8 @@ sub get_node_name { $prefix = 'f'; } elsif ($type eq 'file') { $prefix = 'e'; + } elsif ($type eq 'zeroinit') { + $prefix = 'z'; } else { die "unknown node type '$type'"; } @@ -212,6 +214,11 @@ sub generate_drive_blockdev { my $child = generate_file_blockdev($storecfg, $drive, $options); $child = generate_format_blockdev($storecfg, $drive, $child, $options); + if ($options->{'zero-initialized'}) { + my $node_name = get_node_name('zeroinit', $drive_id, $drive->{file}, $options->{'snapshot-name'}); + $child = { driver => 'zeroinit', file => $child, 'node-name' => $node_name }; + } + # this is the top filter entry point, use $drive-drive_id as nodename return { driver => "throttle", -- 2.47.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel