all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Jakob Klocker <j.klocker@proxmox.com>
To: pve-devel@lists.proxmox.com
Cc: Jakob Klocker <j.klocker@proxmox.com>
Subject: [PATCH qemu-server] fix #7697: snapshot hook name mismatch
Date: Fri, 12 Jun 2026 12:07:58 +0200	[thread overview]
Message-ID: <20260612100758.116697-1-j.klocker@proxmox.com> (raw)

pve-guest-common invokes the snapshot hook with the name
"after-unfreeze" [0], but qemu-server checks for "after-freeze" [1].

As a result, the post-unfreeze hook is never executed and the
query-savevm polling loop intended to wait for savevm-end cleanup
is skipped.

[0] https://git.proxmox.com/?p=pve-guest-common.git;a=blob;f=src/PVE/AbstractConfig.pm;h=7bcae1943094f99e98a8ba19428e1f90d4936080;hb=572ed3533d5ba75e82a5a0e367e2db1aff290c09#l868
[1] https://git.proxmox.com/?p=qemu-server.git;a=blob;f=src/PVE/QemuConfig.pm;h=80a3999e85886b603bdb1b5a8d3d2b3887dff369;hb=bef9334af96eb30cab8d1f5c41c0974eaf0bbdc4#l374

Link: https://bugzilla.proxmox.com/show_bug.cgi?id=7697
Signed-off-by: Jakob Klocker <j.klocker@proxmox.com>
---
 src/PVE/QemuConfig.pm     | 2 +-
 src/test/snapshot-test.pm | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/PVE/QemuConfig.pm b/src/PVE/QemuConfig.pm
index 80a3999e..c24eb835 100644
--- a/src/PVE/QemuConfig.pm
+++ b/src/PVE/QemuConfig.pm
@@ -371,7 +371,7 @@ sub __snapshot_create_vol_snapshots_hook {
                     if $snap->{vmstate};
             };
             warn $@ if $@;
-        } elsif ($hook eq "after-freeze") {
+        } elsif ($hook eq "after-unfreeze") {
             # savevm-end is async, we need to wait
             for (;;) {
                 my $stat = mon_cmd($vmid, "query-savevm");
diff --git a/src/test/snapshot-test.pm b/src/test/snapshot-test.pm
index e28107b9..3e3b9412 100644
--- a/src/test/snapshot-test.pm
+++ b/src/test/snapshot-test.pm
@@ -379,12 +379,13 @@ sub qmp_cmd {
     if ($exec eq "savevm-end") {
         die "savevm-end disabled\n"
             if !$vm_mon->{savevm_end};
+        $vm_mon->{savevm_ended} = 1;
         return;
     }
     if ($exec eq "query-savevm") {
         return {
             "status" => "completed",
-            "bytes" => 1024 * 1024 * 1024,
+            "bytes" => $vm_mon->{savevm_ended} ? 0 : 1024 * 1024 * 1024,
             "total-time" => 5000,
         };
     }
-- 
2.47.3




                 reply	other threads:[~2026-06-12 10:08 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20260612100758.116697-1-j.klocker@proxmox.com \
    --to=j.klocker@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