all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Lukas Sichert <l.sichert@proxmox.com>
To: pve-devel@lists.proxmox.com
Cc: Lukas Sichert <l.sichert@proxmox.com>
Subject: [PATCH docs v10 6/6] fix #7339: lvm: document discard option
Date: Tue, 21 Jul 2026 14:37:21 +0200	[thread overview]
Message-ID: <20260721123724.45395-7-l.sichert@proxmox.com> (raw)
In-Reply-To: <20260721123724.45395-1-l.sichert@proxmox.com>

Document the new `on-volume-remove` property for LVM storage and its
initial `discard` action.

Also update the `saferemove` description to match the range-based
zero-out worker and avoid referring to the old command-specific
implementation details.

Buglink: https://bugzilla.proxmox.com/show_bug.cgi?id=7339
Signed-off-by: Lukas Sichert <l.sichert@proxmox.com>
---
 pve-storage-lvm.adoc | 32 ++++++++++++++++++++++++++------
 1 file changed, 26 insertions(+), 6 deletions(-)

diff --git a/pve-storage-lvm.adoc b/pve-storage-lvm.adoc
index ba78663..2cbdd53 100644
--- a/pve-storage-lvm.adoc
+++ b/pve-storage-lvm.adoc
@@ -44,18 +44,38 @@ accessed by other LVs created later (which happen to be assigned the same
 physical extents). This is a costly operation, but may be required as a security
 measure in certain environments.
 +
-Storage devices that support the "write zeroes" operation will use `blkdiscard`
-to zero blocks. Otherwise, a fallback to `cstream` is performed.
+Storage devices that support the "write zeroes" operation use it to zero blocks.
+Otherwise, zeroes are written manually. The volume is processed range by range,
+according to `saferemove-stepsize`.
+
+`on-volume-remove`::
+
+Configure additional actions to run before an LV is removed.
+The LV is first renamed to `del-*`; if cleanup fails, it is kept and
+renamed to `failed-<N>-del-*`, so it can be inspected, cleaned up
+manually, or removed explicitly.
++
+Set `discard=1` to issue discard (TRIM) requests for the LV's blocks before the
+LV is removed, so thin-provisioned backing storage, such as a SAN LUN, can
+reclaim space the LV occupied. This is called "Discard Removed Volumes"
+in the web UI. Configuring the discard option fails if any backing device in
+the LV's volume group is detected as not supporting it.
++
+If `saferemove` and `discard` are both enabled, the LV is processed range by
+range: one range is zeroed out and then discarded before continuing with the
+next range. This avoids allocating the whole LV with zeroes on thin-provisioned
+backing storage before the space can be reclaimed again.
 
 `saferemove-stepsize`::
 
-Wipe step size in MiB (`blkdiscard -p` parameter value), capped to the maximum
-step size supported by the underlying storage. Up to 32 MiB (maximum) by
-default.
+Wipe step size in MiB, capped to the maximum step size supported by the
+underlying storage. Up to 32 MiB (maximum) by default.
 
 `saferemove_throughput`::
 
-Wipe throughput (`cstream -t` parameter value), up to 10 MiB/s by default.
+Limits wipe throughput. If the backing storage supports the "write zeroes"
+operation, throughput is unlimited by default. Otherwise, manually written
+zeroes are limited to 10 MiB/s by default.
 
 `snapshot-as-volume-chain`::
 
-- 
2.47.3





      parent reply	other threads:[~2026-07-21 12:37 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-21 12:37 [PATCH docs/manager/storage v10 0/6] fix #7339: lvmthick: add option to free storage for deleted VMs Lukas Sichert
2026-07-21 12:37 ` [PATCH storage v10 1/6] lvm: saferemove: keep LVs where zero-out failed for manual zero-out Lukas Sichert
2026-07-21 12:37 ` [PATCH storage v10 2/6] lvm: saferemove: zero out volumes range by range Lukas Sichert
2026-07-21 12:37 ` [PATCH storage v10 3/6] lvm: saferemove: make throughput an integer property Lukas Sichert
2026-07-21 12:37 ` [PATCH storage v10 4/6] fix #7339: lvm: add discard action for removed volumes Lukas Sichert
2026-07-21 12:37 ` [PATCH manager v10 5/6] fix #7339: lvm: add discard-on-remove option to UI Lukas Sichert
2026-07-21 12:37 ` Lukas Sichert [this message]

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=20260721123724.45395-7-l.sichert@proxmox.com \
    --to=l.sichert@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