From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id C6E421FF183 for ; Wed, 2 Jul 2025 18:35:20 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 756533428B; Wed, 2 Jul 2025 18:35:21 +0200 (CEST) From: Fiona Ebner To: pve-devel@lists.proxmox.com Date: Wed, 2 Jul 2025 18:28:05 +0200 Message-ID: <20250702162838.393696-33-f.ebner@proxmox.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250702162838.393696-1-f.ebner@proxmox.com> References: <20250702162838.393696-1-f.ebner@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.028 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH qemu-server v3 32/51] blockdev: support using zeroinit filter X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" 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 --- 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 08f99dbe..72ea4cdc 100644 --- a/src/PVE/QemuServer/Blockdev.pm +++ b/src/PVE/QemuServer/Blockdev.pm @@ -115,6 +115,8 @@ my sub get_node_name { $prefix = 'f'; } elsif ($type eq 'file') { $prefix = 'e'; + } elsif ($type eq 'zeroinit') { + $prefix = 'z'; } else { die "unknown node type '$type'"; } @@ -347,6 +349,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); + $child = { driver => 'zeroinit', file => $child, 'node-name' => "$node_name" }; + } + # for fleecing and TPM backup, this is already the top node return $child if $options->{fleecing} || $options->{'tpm-backup'}; -- 2.47.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel