From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [IPv6:2a0f:8001:1:32::40]) by lore.proxmox.com (Postfix) with ESMTPS id 91BA31FF0B2 for ; Fri, 25 Sep 2026 14:27:18 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 4FF2C21742; Fri, 25 Sep 2026 14:26:55 +0200 (CEST) From: Fiona Ebner To: pve-devel@lists.proxmox.com Subject: [PATCH-SERIES qemu-server 0/7] fix #8071: volume snapshot delete: use current drive information to fix SAVC handling Date: Fri, 25 Sep 2026 14:26:24 +0200 Message-ID: <20260925122646.139215-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: 1790339209811 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.509 Adjusted score from AWL reputation of From: address DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment (newer systems) RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust 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: HGCL6XQJAPYVNODYDU3HGNYJVQVBAVPL X-Message-ID-Hash: HGCL6XQJAPYVNODYDU3HGNYJVQVBAVPL 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: When removing a volume chain snapshot, the blockdev properties are re-generated in blockdev_{commit,replace,stream}() to operate upon. This must happen with the current drive information, not the one from the time the snapshot was taken. A similar bug was present before volume chain snapshots existed, and fixed by commit c6058683 ("fix #2258: select correct device when removing drive snapshot via QEMU"). This is where the handling for $attached_deviceid comes from. With snapshot-as-volume-chain, this needs to be extended to the full drive information, not just the device ID. Includes some extra preparation which allows moving the functions to a separate module and getting rid of two calls from QemuConfig back to QemuServer making progress towards getting rid of that cyclic dependency. Also does some further unrelated cleanup in the VolumeChain module, that was noticed while looking over the code. qemu-server: Fiona Ebner (7): volume snapshot (delete): avoid using deprecated check_running() helper volume snapshot delete: move getting attached device ID to caller fix #8071: volume snapshot delete: use current drive information to fix SAVC handling snapshot: add module for snapshot-related functionality snapshot: use v5.36 and subroutine signatures volume chain: blockdev delete: remove superfluous parse_volume_id() call volume chain: blockdev delete: pass volume ID instead of drive and mark private src/PVE/QemuConfig.pm | 27 ++++- src/PVE/QemuServer.pm | 163 +----------------------------- src/PVE/QemuServer/Makefile | 1 + src/PVE/QemuServer/Snapshot.pm | 155 ++++++++++++++++++++++++++++ src/PVE/QemuServer/VolumeChain.pm | 18 ++-- src/test/snapshot-test.pm | 7 +- 6 files changed, 194 insertions(+), 177 deletions(-) create mode 100644 src/PVE/QemuServer/Snapshot.pm Summary over all repositories: 6 files changed, 194 insertions(+), 177 deletions(-) -- Generated by git-murpp 0.5.0