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 4D2211FF13B for ; Wed, 11 Mar 2026 10:45:40 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 936D6127B0; Wed, 11 Mar 2026 10:45:19 +0100 (CET) From: Fiona Ebner To: pve-devel@lists.proxmox.com Subject: [PATCH-SERIES storage/qemu-server v2 00/11] fix #7094: external snapshot delete: ensure commit target is large enough Date: Wed, 11 Mar 2026 10:44:39 +0100 Message-ID: <20260311094506.22359-1-f.ebner@proxmox.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1773222274900 X-SPAM-LEVEL: Spam detection results: 0 AWL -1.501 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 URIBL_BLACK 3 Contains an URL listed in the URIBL blacklist [plugin.pm] Message-ID-Hash: UYGJZFEEUC5C4PC3PUX4CWFRER266GKM X-Message-ID-Hash: UYGJZFEEUC5C4PC3PUX4CWFRER266GKM 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: Changes in v2: * rebase on latest master. For LVM storages using 'snapshot-as-volume-chain', it's necessary to ensure that the size for the LV of the target snapshot volume is large enough before doing a commit operation. This affects both the offline and the online case, which have different code paths. To make this possible via the storage (plugin) API, the volume_resize() method gains a new 'snapname' parameter and the 'virtual-size' of each snapshot is returned in the result of volume_snapshot_info(). The series also adds documentation for volume_resize() and volume_snapshot_info(), the latter of which is a bit hairy, since it was previously only used for ZFS replication and then re-used for snapshot-as-volume-chain which returns quite different information. It's not too bad though. Lastly, there's some cleanups for the volume_snapshot_info() method. Storage plugin API age and version are bumped in the series. Dependency bump from qemu-server to libpve-storage-perl needed! storage: Fiona Ebner (10): plugin: document volume_snapshot_info() method plugin: volume snapshot info: also return virtual size plugin: document volume_resize() method plugin/storage: volume resize: add snapname parameter lvm plugin: snapshot delete: clarify comment about using commit bump API age and version partially fix #7094: lvm: snapshot delete: ensure commit target is large enough plugin: volume snapshot info: don't set 'order' for internal snapshots plugin: volume snapshot info: correctly return internal snapshot information plugin: volume snapshot info: do not set 'ext' property ApiChangeLog | 20 ++++++ src/PVE/Storage.pm | 8 +-- src/PVE/Storage/BTRFSPlugin.pm | 3 +- src/PVE/Storage/ESXiPlugin.pm | 2 +- src/PVE/Storage/ISCSIDirectPlugin.pm | 2 +- src/PVE/Storage/ISCSIPlugin.pm | 2 +- src/PVE/Storage/LVMPlugin.pm | 21 ++++-- src/PVE/Storage/LvmThinPlugin.pm | 8 ++- src/PVE/Storage/PBSPlugin.pm | 2 +- src/PVE/Storage/Plugin.pm | 103 +++++++++++++++++++++------ src/PVE/Storage/RBDPlugin.pm | 4 +- src/PVE/Storage/ZFSPlugin.pm | 5 +- src/PVE/Storage/ZFSPoolPlugin.pm | 4 +- 13 files changed, 145 insertions(+), 39 deletions(-) qemu-server: Fiona Ebner (1): partially fix #7094: external snapshot delete: ensure commit target is large enough src/PVE/QemuServer.pm | 9 +++++++++ 1 file changed, 9 insertions(+) Summary over all repositories: 14 files changed, 154 insertions(+), 39 deletions(-) -- Generated by git-murpp 0.5.0