all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: "Fabian Grünbichler" <f.gruenbichler@proxmox.com>
To: Lukas Sichert <l.sichert@proxmox.com>,
	Maximiliano Sandoval <m.sandoval@proxmox.com>
Cc: pve-devel@lists.proxmox.com
Subject: Re: [PATCH manager 2/2] fix #7339: lvmthick: ui: add UI fields for option to free storage
Date: Mon, 23 Mar 2026 15:01:12 +0100	[thread overview]
Message-ID: <1774273846.zr8k466n6h.astroid@yuna.none> (raw)
In-Reply-To: <s8oldfibyx0.fsf@toolbox>

On March 23, 2026 11:52 am, Maximiliano Sandoval wrote:
> Lukas Sichert <l.sichert@proxmox.com> writes:
> 
>> In the previous commit the backend recieved 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 a 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 autoenable on new creations of
>> LVM Storages. This checkbox also adds the 'issue_blkdiscard'
>> variable and its value to the return call.
>>
>> Also add remappings for the description of the new worker tasks, to show
>> in the Gui, which options are used for the current deletion.
>>
>> Signed-off-by: Lukas Sichert <l.sichert@proxmox.com>
>> ---
>>  www/manager6/Utils.js           |  3 +++
>>  www/manager6/storage/LVMEdit.js | 13 +++++++++++++
>>  2 files changed, 16 insertions(+)
>>
>> diff --git a/www/manager6/Utils.js b/www/manager6/Utils.js
>> index 77dae42e..1c70b159 100644
>> --- a/www/manager6/Utils.js
>> +++ b/www/manager6/Utils.js
>> @@ -2133,6 +2133,9 @@ Ext.define('PVE.Utils', {
>>              clusterjoin: ['', gettext('Join Cluster')],
>>              dircreate: [gettext('Directory Storage'), gettext('Create')],
>>              dirremove: [gettext('Directory'), gettext('Remove')],
>> +            diskdiscard: ['', gettext('Discard disk')],
>> +            diskzero: ['', gettext('Zero out disk')],
>> +            diskzerodiscard: ['', gettext('Zero out and discard disk')],
>>              download: [gettext('File'), gettext('Download')],
>>              hamigrate: ['HA', gettext('Migrate')],
>>              hashutdown: ['HA', gettext('Shutdown')],
>> diff --git a/www/manager6/storage/LVMEdit.js b/www/manager6/storage/LVMEdit.js
>> index 148f0601..35d2b329 100644
>> --- a/www/manager6/storage/LVMEdit.js
>> +++ b/www/manager6/storage/LVMEdit.js
>> @@ -241,5 +241,18 @@ 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 if storage space should be freed when VM is deleted.'),
> 
> I would recommend:
> 
> 'Whether to free up storage space when deleting the VM.'
> 
> instead.

I think both this here and the backend description should contain the
words "discard" and "trim". That the end result is freeing capacity on
the backing device is a (desired) implementation detail.

If you don't know what discard means, you should not enable this option
anyway.

"when VM is deleted" is wrong in any case, the option affects volumes
which are destroyed (which can happen as part of destroying a guest, of
course, but is not limited to those tasks).

What we want to convey:

- destroying a volume always logically removes it
- saferemove wipes the volume before removing it (prevents data leakage)
- issue_blockdiscard discards the volume's data before removing it
  (increases lifespan of flash media, allows better thin provisioning,
  requires support across the whole stack to work)

"free up space" is too generic, since it's not clear whether this refers
to logical space usage or physical space usage, IMHO.

> 
> But this begs the question: How is this different from "Wipe Remove
> Volumes" above? Imho it should be possible to tell them apart just with
> the information available in the web UI.
> 
>> +            },
>> +        },
>>      ],
>>  });
> 
> -- 
> Maximiliano
> 
> 
> 
> 
> 




  reply	other threads:[~2026-03-23 14:01 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-23 10:14 [PATCH manager/storage 0/2] fix #7339: lvmthick: add option to free storage for deleted VMs Lukas Sichert
2026-03-23 10:14 ` [PATCH storage 1/2] fix #7339: lvmthick: add worker to free space of to be " Lukas Sichert
2026-03-23 10:31   ` Michael Köppl
2026-03-23 10:57   ` Maximiliano Sandoval
2026-03-23 12:50   ` Michael Köppl
2026-03-23 10:14 ` [PATCH manager 2/2] fix #7339: lvmthick: ui: add UI fields for option to free storage Lukas Sichert
2026-03-23 10:52   ` Maximiliano Sandoval
2026-03-23 14:01     ` Fabian Grünbichler [this message]
2026-03-23 12:39   ` Michael Köppl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1774273846.zr8k466n6h.astroid@yuna.none \
    --to=f.gruenbichler@proxmox.com \
    --cc=l.sichert@proxmox.com \
    --cc=m.sandoval@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal