From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [IPv6:2a0f:8001:1:32::40]) by lore.proxmox.com (Postfix) with ESMTPS id 4F11B1FF0ED for ; Fri, 31 Jul 2026 15:05:32 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 1778D21525; Fri, 31 Jul 2026 15:05:32 +0200 (CEST) Message-ID: <00c76f0c-a192-40d1-bfde-4e3b6b6bac03@proxmox.com> Date: Fri, 31 Jul 2026 15:05:25 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH manager v3] fix #4503: ui: qemu: add detect zeroes disk option To: Lukas Sichert , Daniel Kral , David Riley , pve-devel@lists.proxmox.com References: <20260618115005.45266-1-l.sichert@proxmox.com> <7a2d0777-1fb4-4a87-99ed-2c77caa0082b@proxmox.com> Content-Language: en-US From: Fiona Ebner In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1785503115364 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.150 Adjusted score from AWL reputation of From: address DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment (newer systems) RCVD_IN_DNSWL_LOW -0.7 Sender listed at https://www.dnswl.org/, low trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: TS3LOEJWH5NNNXY3IEPBMN33L6ML22MU X-Message-ID-Hash: TS3LOEJWH5NNNXY3IEPBMN33L6ML22MU X-MailFrom: f.ebner@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Am 23.06.26 um 4:06 PM schrieb Lukas Sichert: > On 2026-06-22 10:51, Daniel Kral wrote: >> On Fri Jun 19, 2026 at 1:01 PM CEST, David Riley wrote: >>> On 6/18/26 1:49 PM, Lukas Sichert wrote: >>>> When discard is enabled, qemu-server defaults to 'detect-zeroes=unmap'. >>>> This can have a significant performance impact for zero writes on some >>>> setups, while users might still want to keep guest discard/TRIM support >>>> enabled. >>>> >>>> Allow configuring the option independently so 'discard' can stay enabled >>>> while zero detection is disabled. Persist the checkbox state explicitly, >>>> as the backend treats an absent value as default-enabled behavior, >>>> resulting in 'detect-zeroes=unmap' when 'discard' is enabled. >>> >>> Thanks for submitting this patch. >>> >>> While it clearly addresses the performance issues reported in #4503 >>> [0], I was reading through the Bugzilla thread and noticed a request >>> to support the third QEMU state for detect_zeroes [1]. Currently, the >>> underlying parameter supports off, on, and unmap [2]. >>> >>> Since we are already modifying this configuration in the UI, it might >>> make sense to fully expose all three options to the user rather than >>> just a binary toggle as there is a difference between "on" and >>> "unmap". >> >> This would need adapting the detect_zeroes option and parsing logic >> (it's only boolean right now) so it can take any of the 3 valid values >> by QEMU and be backwards compatible to the old values in our config. >> >> This should probably also check the constraint that detect-zeroes=unmap >> can only be set if discard=unmap, but the error message seems already be >> quite clear for that [0]. > > Already in src/PVE/QemuServer/Drive.pm in the qemu-server repo, this is > checked and set accordingly. > > Since detect-zeroes=unmap is essentially an extension of > detect-zeroes=on [1], and detect-zeroes=unmap is currently the default > when discard is enabled, I would keep this patch as is to preserve > backward compatibility. I also think it's fine to keep it as-is.