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 <[email protected]>
---
 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..dc945844 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 "
+            . "fsfreeze-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 dd789652..38e352ef 100644
--- a/src/PVE/VZDump/QemuServer.pm
+++ b/src/PVE/VZDump/QemuServer.pm
@@ -1097,8 +1097,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



_______________________________________________
pve-devel mailing list
[email protected]
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to