[pve-devel] [PATCH qemu-server v4 1/8] add a guest-fsfreeze qga setting

Maximiliano Sandoval m.sandoval at proxmox.com
Fri Jan 2 15:35:36 CET 2026


Adds a new setting that controls whether guest-fsfreeze-{freeze,thaw}
commands should be issued. The previous setting was only taken into
account for backups.

In this commit we only use this setting for backups. The following two
commits will ensure the setting is used on replications, snapshots and
clones.

Signed-off-by: Maximiliano Sandoval <m.sandoval at proxmox.com>
---
 src/PVE/QemuServer/Agent.pm  | 11 +++++++++++
 src/PVE/VZDump/QemuServer.pm |  7 +++++--
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/src/PVE/QemuServer/Agent.pm b/src/PVE/QemuServer/Agent.pm
index 5d88b7bd..6ce76a14 100644
--- a/src/PVE/QemuServer/Agent.pm
+++ b/src/PVE/QemuServer/Agent.pm
@@ -41,6 +41,17 @@ our $agent_fmt = {
         optional => 1,
         default => 1,
     },
+    'guest-fsfreeze' => {
+        description =>
+            "Whether to issue the guest-fsfreeze-freeze and guest-fsfreeze-thaw QEMU guest agent commands.\n\n"
+            . "Backups in snapshot mode, clones, snapshots without RAM, and replications normally issue a "
+            . "guest-fsfreeze-freeze and a respective thaw command when the QEMU Guest agent option is "
+            . "enabled on the guest's configuration and the agent is running inside of the guest.\n\n"
+            . "When set it will take precedence over 'freeze-fs-on-backup'.",
+        type => 'boolean',
+        optional => 1,
+        default => 1,
+    },
     type => {
         description => "Select the agent type",
         type => 'string',
diff --git a/src/PVE/VZDump/QemuServer.pm b/src/PVE/VZDump/QemuServer.pm
index 84ebbe80..af684a1d 100644
--- a/src/PVE/VZDump/QemuServer.pm
+++ b/src/PVE/VZDump/QemuServer.pm
@@ -1102,8 +1102,11 @@ sub qga_fs_freeze {
         return;
     }
 
-    my $freeze =
-        PVE::QemuServer::Agent::get_qga_key($self->{vmlist}->{$vmid}, 'freeze-fs-on-backup') // 1;
+    my $freeze = PVE::QemuServer::Agent::get_qga_key($self->{vmlist}->{$vmid}, 'guest-fsfreeze');
+    $freeze //=
+        PVE::QemuServer::Agent::get_qga_key($self->{vmlist}->{$vmid}, 'freeze-fs-on-backup');
+    $freeze //= 1;
+
     if (!$freeze) {
         $self->loginfo("skipping guest-agent 'fs-freeze', disabled in VM options");
         return;
-- 
2.47.3





More information about the pve-devel mailing list