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 841231FF13A for ; Wed, 13 May 2026 14:03:23 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 55515B05E; Wed, 13 May 2026 14:03:23 +0200 (CEST) From: Lukas Sichert To: pve-devel@lists.proxmox.com Subject: [PATCH manager v4 2/2] fix #7339: lvmthick: ui: add UI option to free storage Date: Wed, 13 May 2026 14:02:38 +0200 Message-ID: <20260513120240.81893-3-l.sichert@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260513120240.81893-1-l.sichert@proxmox.com> References: <20260513120240.81893-1-l.sichert@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1778673764762 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.529 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: PHZ62PR7ZY6EKT6BGTZOVD53N3XHHAUY X-Message-ID-Hash: PHZ62PR7ZY6EKT6BGTZOVD53N3XHHAUY X-MailFrom: l.sichert@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 CC: Lukas Sichert X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: In the commit 'fix #7339: lvmthick: add worker to free space of to be deleted VMs' for the 'pve-storage' repo the backend received the functionality to discard allocated space of a VM disk on a SAN, when a VM is deleted. The backend checks whether to use this option by parsing storage.cfg to see if 'issue-blkdiscard' is set to 1. This variable will automatically be stored into the config file if it is present in the 'PUT' API request. To be able to append this to the API call, the variable needs to be defined in the json-Schema, but this has also been added in the previous commit. To enable an option to free storage in the GUI, create a checkbox with the name 'issue-blkdiscard'. In the checkbox use cbind to evaluate 'iscreate' from the component, to only auto-enable on new creations of LVM Storages. This checkbox also adds the 'issue-blkdiscard' variable and its value to the return call. Also rename the 'imgdel' task description from 'Erase data' to 'Destroy disk', since the task can now also discard storage blocks in addition to zeroing data. Signed-off-by: Lukas Sichert --- www/manager6/Utils.js | 2 +- www/manager6/storage/LVMEdit.js | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/www/manager6/Utils.js b/www/manager6/Utils.js index 01e80682..417db00b 100644 --- a/www/manager6/Utils.js +++ b/www/manager6/Utils.js @@ -2151,7 +2151,7 @@ Ext.define('PVE.Utils', { hastart: ['HA', gettext('Start')], hastop: ['HA', gettext('Stop')], imgcopy: ['', gettext('Copy data')], - imgdel: ['', gettext('Erase data')], + imgdel: ['', gettext('Destroy image')], lvmcreate: [gettext('LVM Storage'), gettext('Create')], lvmremove: ['Volume Group', gettext('Remove')], lvmthincreate: [gettext('LVM-Thin Storage'), gettext('Create')], diff --git a/www/manager6/storage/LVMEdit.js b/www/manager6/storage/LVMEdit.js index 148f0601..56463bce 100644 --- a/www/manager6/storage/LVMEdit.js +++ b/www/manager6/storage/LVMEdit.js @@ -241,5 +241,20 @@ Ext.define('PVE.storage.LVMInputPanel', { uncheckedValue: 0, fieldLabel: gettext('Wipe Removed Volumes'), }, + { + xtype: 'proxmoxcheckbox', + name: 'issue-blkdiscard', + uncheckedValue: 0, + cbind: { + checked: '{isCreate}', + }, + fieldLabel: gettext('Discard Removed Volumes'), + autoEl: { + tag: 'div', + 'data-qtip': gettext( + 'Enable to issue discard (TRIM) requests for logical volumes before removing them.', + ), + }, + }, ], }); -- 2.47.3