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 401D61FF15C for ; Fri, 27 Jun 2025 17:58:10 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 8C2F5182C3; Fri, 27 Jun 2025 17:57:52 +0200 (CEST) From: Fiona Ebner To: pve-devel@lists.proxmox.com Date: Fri, 27 Jun 2025 17:57:10 +0200 Message-ID: <20250627155737.162083-15-f.ebner@proxmox.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250627155737.162083-1-f.ebner@proxmox.com> References: <20250627155737.162083-1-f.ebner@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.029 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 14/31] 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 2a9a95e8..7148a3b7 100644 --- a/src/PVE/QemuServer/Blockdev.pm +++ b/src/PVE/QemuServer/Blockdev.pm @@ -117,6 +117,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'"; } @@ -317,6 +319,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