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  | 12 ++++++++++++
 src/PVE/VZDump/QemuServer.pm |  7 +++++--
 2 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/src/PVE/QemuServer/Agent.pm b/src/PVE/QemuServer/Agent.pm
index 5d88b7bd..b29dcb70 100644
--- a/src/PVE/QemuServer/Agent.pm
+++ b/src/PVE/QemuServer/Agent.pm
@@ -41,6 +41,18 @@ 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, 
importing disks from a running guest, "
+            . "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\nWhen 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



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

Reply via email to