From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id B34BC1FF141 for ; Mon, 16 Mar 2026 22:41:17 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 02A1B34B8A; Mon, 16 Mar 2026 22:41:28 +0100 (CET) Message-ID: <949ba54f-e58b-4535-b103-9840e0380298@proxmox.com> Date: Mon, 16 Mar 2026 22:41:23 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta Subject: Re: [PATCH manager v2 5/7] ui: qga: add checkbox for guest-fsfreeze To: Maximiliano Sandoval , pve-devel@lists.proxmox.com References: <20260313095534.79526-1-m.sandoval@proxmox.com> <20260313095534.79526-6-m.sandoval@proxmox.com> Content-Language: en-US From: Thomas Lamprecht In-Reply-To: <20260313095534.79526-6-m.sandoval@proxmox.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1773697242735 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.012 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 Message-ID-Hash: K5C7XFMQAL7JJBHLZZ52A4IIP6YRY5A6 X-Message-ID-Hash: K5C7XFMQAL7JJBHLZZ52A4IIP6YRY5A6 X-MailFrom: t.lamprecht@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 13.03.26 um 10:55 schrieb Maximiliano Sandoval: > We re-use the same components from the 'freeze-fs-on-backup' checkbox > but without referencing that this only affects backups. > > Signed-off-by: Maximiliano Sandoval > --- > www/manager6/form/AgentFeatureSelector.js | 30 +++++++++++++++++++++++ > 1 file changed, 30 insertions(+) > > diff --git a/www/manager6/form/AgentFeatureSelector.js b/www/manager6/form/AgentFeatureSelector.js > index b64837b7..36e5bd8a 100644 > --- a/www/manager6/form/AgentFeatureSelector.js > +++ b/www/manager6/form/AgentFeatureSelector.js > @@ -21,6 +21,30 @@ Ext.define('PVE.form.AgentFeatureSelector', { > }, > disabled: true, > }, > + { > + xtype: 'proxmoxcheckbox', > + boxLabel: gettext( > + 'Freeze/thaw guest filesystems during certain operations for consistency', > + ), > + name: 'guest-fsfreeze', > + reference: 'guest_fsfreeze', > + bind: { > + disabled: '{!enabled.checked}', > + }, > + disabled: true, > + uncheckedValue: '0', > + defaultValue: '1', > + }, > + { > + xtype: 'displayfield', > + userCls: 'pmx-hint', > + value: gettext( > + 'Freeze/thaw for guest filesystems disabled. This can lead to inconsistent disk images after performing certain operations.', very ambiguous wording - what operations? Commit message doesn't give any hints either. Is there at least a docs change for users to learn what actual operations this will happen? btw. this series could have been like three, maybe four commits, some semantic separation is good, but not every tiny clean-up is a dedicated semantic change. > + ), > + bind: { > + hidden: '{guest_fsfreeze.checked}', > + }, > + }, > { > xtype: 'displayfield', > userCls: 'pmx-hint', > @@ -75,6 +99,9 @@ Ext.define('PVE.form.AgentFeatureSelector', { > if (PVE.Parser.parseBoolean(values['freeze-fs-on-backup'])) { > delete values['freeze-fs-on-backup']; > } > + if (PVE.Parser.parseBoolean(values['guest-fsfreeze'])) { > + delete values['guest-fsfreeze']; > + } > > const agentstr = PVE.Parser.printPropertyString(values, 'enabled'); > return { agent: agentstr }; > @@ -85,6 +112,9 @@ Ext.define('PVE.form.AgentFeatureSelector', { > if (!Ext.isDefined(res['freeze-fs-on-backup'])) { > res['freeze-fs-on-backup'] = 1; > } > + if (!Ext.isDefined(res['guest-fsfreeze'])) { > + res['guest-fsfreeze'] = 1; > + } > > this.callParent([res]); > },