From: Fiona Ebner <f.ebner@proxmox.com>
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 [thread overview]
Message-ID: <20260925122646.139215-1-f.ebner@proxmox.com> (raw)
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
next reply other threads:[~2026-09-25 12:27 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-25 12:26 Fiona Ebner [this message]
2026-09-25 12:26 ` [PATCH qemu-server 1/7] volume snapshot (delete): avoid using deprecated check_running() helper Fiona Ebner
2026-09-25 12:26 ` [PATCH qemu-server 2/7] volume snapshot delete: move getting attached device ID to caller Fiona Ebner
2026-09-25 12:26 ` [PATCH qemu-server 3/7] fix #8071: volume snapshot delete: use current drive information to fix SAVC handling Fiona Ebner
2026-09-25 12:26 ` [PATCH qemu-server 4/7] snapshot: add module for snapshot-related functionality Fiona Ebner
2026-09-25 12:26 ` [PATCH qemu-server 5/7] snapshot: use v5.36 and subroutine signatures Fiona Ebner
2026-09-25 12:26 ` [PATCH qemu-server 6/7] volume chain: blockdev delete: remove superfluous parse_volume_id() call Fiona Ebner
2026-09-25 12:26 ` [PATCH qemu-server 7/7] volume chain: blockdev delete: pass volume ID instead of drive and mark private Fiona Ebner
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=20260925122646.139215-1-f.ebner@proxmox.com \
--to=f.ebner@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.