* [pve-devel] [PATCH qemu-server v5 1/9] add a guest-fsfreeze qga setting
2026-01-05 12:16 [pve-devel] [PATCH docs/guest-common/qemu-server v5 00/11] fix #1964: add setting to always disable freezing a guest's fs Maximiliano Sandoval
@ 2026-01-05 12:16 ` Maximiliano Sandoval
2026-01-05 12:16 ` [pve-devel] [PATCH qemu-server v5 2/9] api: clone_vm: follow guest-fsfreeze setting Maximiliano Sandoval
` (9 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Maximiliano Sandoval @ 2026-01-05 12:16 UTC (permalink / raw)
To: pve-devel
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@proxmox.com>
---
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
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 12+ messages in thread* [pve-devel] [PATCH qemu-server v5 2/9] api: clone_vm: follow guest-fsfreeze setting
2026-01-05 12:16 [pve-devel] [PATCH docs/guest-common/qemu-server v5 00/11] fix #1964: add setting to always disable freezing a guest's fs Maximiliano Sandoval
2026-01-05 12:16 ` [pve-devel] [PATCH qemu-server v5 1/9] add a guest-fsfreeze qga setting Maximiliano Sandoval
@ 2026-01-05 12:16 ` Maximiliano Sandoval
2026-01-05 12:16 ` [pve-devel] [PATCH qemu-server v5 3/9] fix #1964: follow guest-fsfreeze setting on check freeze needed Maximiliano Sandoval
` (8 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Maximiliano Sandoval @ 2026-01-05 12:16 UTC (permalink / raw)
To: pve-devel
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
src/PVE/API2/Qemu.pm | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/PVE/API2/Qemu.pm b/src/PVE/API2/Qemu.pm
index 190878de..fc20c1c4 100644
--- a/src/PVE/API2/Qemu.pm
+++ b/src/PVE/API2/Qemu.pm
@@ -4556,6 +4556,9 @@ __PACKAGE__->register_method({
$dest_info->{efisize} = PVE::QemuServer::get_efivars_size($oldconf)
if $opt eq 'efidisk0';
+ my $qga = $oldconf->{agent}
+ && PVE::QemuServer::Agent::get_qga_key($oldconf, 'guest-fsfreeze') // 1;
+
my $newdrive = PVE::QemuServer::clone_disk(
$storecfg,
$source_info,
@@ -4564,7 +4567,7 @@ __PACKAGE__->register_method({
$newvollist,
$jobs,
$completion,
- $oldconf->{agent},
+ $qga,
$clonelimit,
);
--
2.47.3
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 12+ messages in thread* [pve-devel] [PATCH qemu-server v5 3/9] fix #1964: follow guest-fsfreeze setting on check freeze needed
2026-01-05 12:16 [pve-devel] [PATCH docs/guest-common/qemu-server v5 00/11] fix #1964: add setting to always disable freezing a guest's fs Maximiliano Sandoval
2026-01-05 12:16 ` [pve-devel] [PATCH qemu-server v5 1/9] add a guest-fsfreeze qga setting Maximiliano Sandoval
2026-01-05 12:16 ` [pve-devel] [PATCH qemu-server v5 2/9] api: clone_vm: follow guest-fsfreeze setting Maximiliano Sandoval
@ 2026-01-05 12:16 ` Maximiliano Sandoval
2026-01-05 12:16 ` [pve-devel] [PATCH qemu-server v5 4/9] agent: add a guest_fsthaw helper Maximiliano Sandoval
` (7 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Maximiliano Sandoval @ 2026-01-05 12:16 UTC (permalink / raw)
To: pve-devel
This method is used by replications and snapshots without RAM.
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
src/PVE/QemuConfig.pm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/PVE/QemuConfig.pm b/src/PVE/QemuConfig.pm
index ad6ce6b0..803e4da4 100644
--- a/src/PVE/QemuConfig.pm
+++ b/src/PVE/QemuConfig.pm
@@ -298,7 +298,8 @@ sub __snapshot_check_freeze_needed {
$running,
$running
&& PVE::QemuServer::Agent::get_qga_key($config, 'enabled')
- && PVE::QemuServer::Agent::qga_check_running($vmid),
+ && PVE::QemuServer::Agent::qga_check_running($vmid)
+ && PVE::QemuServer::Agent::get_qga_key($config, 'guest-fsfreeze') // 1,
);
} else {
return ($running, 0);
--
2.47.3
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 12+ messages in thread* [pve-devel] [PATCH qemu-server v5 4/9] agent: add a guest_fsthaw helper
2026-01-05 12:16 [pve-devel] [PATCH docs/guest-common/qemu-server v5 00/11] fix #1964: add setting to always disable freezing a guest's fs Maximiliano Sandoval
` (2 preceding siblings ...)
2026-01-05 12:16 ` [pve-devel] [PATCH qemu-server v5 3/9] fix #1964: follow guest-fsfreeze setting on check freeze needed Maximiliano Sandoval
@ 2026-01-05 12:16 ` Maximiliano Sandoval
2026-01-05 12:16 ` [pve-devel] [PATCH qemu-server v5 5/9] port users of guest-fsfreeze-thaw users to helper Maximiliano Sandoval
` (6 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Maximiliano Sandoval @ 2026-01-05 12:16 UTC (permalink / raw)
To: pve-devel
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
src/PVE/QemuServer/Agent.pm | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/src/PVE/QemuServer/Agent.pm b/src/PVE/QemuServer/Agent.pm
index b29dcb70..7193d015 100644
--- a/src/PVE/QemuServer/Agent.pm
+++ b/src/PVE/QemuServer/Agent.pm
@@ -265,4 +265,20 @@ sub guest_fsfreeze {
die "unable to freeze guest fs - unexpected status '$status'\n" if $status ne 'frozen';
}
+=head3 guest_fsthaw
+
+ guest_fsthaw($vmid);
+
+Thaws the file systems of the guest C<$vmid>. Dies if the file systems cannot be thawed.
+
+See C<$guest_fsfreeze> for more details.
+
+=cut
+
+sub guest_fsthaw {
+ my ($vmid) = @_;
+
+ PVE::QemuServer::Monitor::mon_cmd($vmid, "guest-fsfreeze-thaw");
+}
+
1;
--
2.47.3
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 12+ messages in thread* [pve-devel] [PATCH qemu-server v5 5/9] port users of guest-fsfreeze-thaw users to helper
2026-01-05 12:16 [pve-devel] [PATCH docs/guest-common/qemu-server v5 00/11] fix #1964: add setting to always disable freezing a guest's fs Maximiliano Sandoval
` (3 preceding siblings ...)
2026-01-05 12:16 ` [pve-devel] [PATCH qemu-server v5 4/9] agent: add a guest_fsthaw helper Maximiliano Sandoval
@ 2026-01-05 12:16 ` Maximiliano Sandoval
2026-01-05 12:16 ` [pve-devel] [PATCH qemu-server v5 6/9] block job: log when a fsfreeze could not happen Maximiliano Sandoval
` (5 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Maximiliano Sandoval @ 2026-01-05 12:16 UTC (permalink / raw)
To: pve-devel
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
src/PVE/QemuConfig.pm | 2 +-
src/PVE/QemuServer/BlockJob.pm | 2 +-
src/PVE/VZDump/QemuServer.pm | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/PVE/QemuConfig.pm b/src/PVE/QemuConfig.pm
index 803e4da4..bd67be1a 100644
--- a/src/PVE/QemuConfig.pm
+++ b/src/PVE/QemuConfig.pm
@@ -310,7 +310,7 @@ sub __snapshot_freeze {
my ($class, $vmid, $unfreeze) = @_;
if ($unfreeze) {
- eval { mon_cmd($vmid, "guest-fsfreeze-thaw"); };
+ eval { PVE::QemuServer::Agent::guest_fsthaw($vmid); };
warn "guest-fsfreeze-thaw problems - $@" if $@;
} else {
eval { PVE::QemuServer::Agent::guest_fsfreeze($vmid); };
diff --git a/src/PVE/QemuServer/BlockJob.pm b/src/PVE/QemuServer/BlockJob.pm
index c89994db..b25dcf9a 100644
--- a/src/PVE/QemuServer/BlockJob.pm
+++ b/src/PVE/QemuServer/BlockJob.pm
@@ -178,7 +178,7 @@ sub qemu_drive_mirror_monitor {
if ($agent_running) {
print "unfreeze filesystem\n";
- eval { mon_cmd($vmid, "guest-fsfreeze-thaw"); };
+ eval { PVE::QemuServer::Agent::guest_fsthaw($vmid); };
warn $@ if $@;
} else {
print "resume vm\n";
diff --git a/src/PVE/VZDump/QemuServer.pm b/src/PVE/VZDump/QemuServer.pm
index af684a1d..58c86547 100644
--- a/src/PVE/VZDump/QemuServer.pm
+++ b/src/PVE/VZDump/QemuServer.pm
@@ -1124,7 +1124,7 @@ sub qga_fs_thaw {
my ($self, $vmid) = @_;
$self->loginfo("issuing guest-agent 'fs-thaw' command");
- eval { mon_cmd($vmid, "guest-fsfreeze-thaw") };
+ eval { PVE::QemuServer::Agent::guest_fsthaw($vmid); };
$self->logerr($@) if $@;
}
--
2.47.3
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 12+ messages in thread* [pve-devel] [PATCH qemu-server v5 6/9] block job: log when a fsfreeze could not happen
2026-01-05 12:16 [pve-devel] [PATCH docs/guest-common/qemu-server v5 00/11] fix #1964: add setting to always disable freezing a guest's fs Maximiliano Sandoval
` (4 preceding siblings ...)
2026-01-05 12:16 ` [pve-devel] [PATCH qemu-server v5 5/9] port users of guest-fsfreeze-thaw users to helper Maximiliano Sandoval
@ 2026-01-05 12:16 ` Maximiliano Sandoval
2026-01-05 12:16 ` [pve-devel] [PATCH qemu-server v5 7/9] block job: mirror: reword fsfreeze log entry Maximiliano Sandoval
` (4 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Maximiliano Sandoval @ 2026-01-05 12:16 UTC (permalink / raw)
To: pve-devel
We print a message when the config says that we should issue a
guest-fsfreeze-freeze command but we can't because the agent is not
running or vise versa.
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
src/PVE/QemuServer/BlockJob.pm | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/PVE/QemuServer/BlockJob.pm b/src/PVE/QemuServer/BlockJob.pm
index b25dcf9a..313918e3 100644
--- a/src/PVE/QemuServer/BlockJob.pm
+++ b/src/PVE/QemuServer/BlockJob.pm
@@ -162,11 +162,17 @@ sub qemu_drive_mirror_monitor {
last if $completion eq 'skip' || $completion eq 'auto';
if ($vmiddst && $vmiddst != $vmid) {
- my $agent_running = $qga && qga_check_running($vmid);
- if ($agent_running) {
+ my $agent_running = qga_check_running($vmid);
+ my $should_fsfreeze = $qga && $agent_running;
+ if ($should_fsfreeze) {
print "freeze filesystem\n";
eval { PVE::QemuServer::Agent::guest_fsfreeze($vmid); };
warn $@ if $@;
+ } elsif ($agent_running && !$qga) {
+ print "skipping guest-agent 'guest-fsfreeze-freeze', disabled in VM options\n";
+ } elsif (!$agent_running && $qga) {
+ print
+ "skipping guest agent 'guest-fsfreeze-freeze' command: the agent is not running inside of the guest\n";
} else {
print "suspend vm\n";
eval { PVE::QemuServer::RunState::vm_suspend($vmid, 1); };
@@ -176,7 +182,7 @@ sub qemu_drive_mirror_monitor {
# if we clone a disk for a new target vm, we don't switch the disk
qemu_blockjobs_cancel($vmid, $jobs);
- if ($agent_running) {
+ if ($should_fsfreeze) {
print "unfreeze filesystem\n";
eval { PVE::QemuServer::Agent::guest_fsthaw($vmid); };
warn $@ if $@;
--
2.47.3
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 12+ messages in thread* [pve-devel] [PATCH qemu-server v5 7/9] block job: mirror: reword fsfreeze log entry
2026-01-05 12:16 [pve-devel] [PATCH docs/guest-common/qemu-server v5 00/11] fix #1964: add setting to always disable freezing a guest's fs Maximiliano Sandoval
` (5 preceding siblings ...)
2026-01-05 12:16 ` [pve-devel] [PATCH qemu-server v5 6/9] block job: log when a fsfreeze could not happen Maximiliano Sandoval
@ 2026-01-05 12:16 ` Maximiliano Sandoval
2026-01-05 12:16 ` [pve-devel] [PATCH qemu-server v5 8/9] deprecate freeze-fs-on-backup qga setting Maximiliano Sandoval
` (3 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Maximiliano Sandoval @ 2026-01-05 12:16 UTC (permalink / raw)
To: pve-devel
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
src/PVE/QemuServer/BlockJob.pm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/PVE/QemuServer/BlockJob.pm b/src/PVE/QemuServer/BlockJob.pm
index 313918e3..e5568f45 100644
--- a/src/PVE/QemuServer/BlockJob.pm
+++ b/src/PVE/QemuServer/BlockJob.pm
@@ -165,7 +165,7 @@ sub qemu_drive_mirror_monitor {
my $agent_running = qga_check_running($vmid);
my $should_fsfreeze = $qga && $agent_running;
if ($should_fsfreeze) {
- print "freeze filesystem\n";
+ print "issuing guest agent 'guest-fsfreeze-freeze' command\n";
eval { PVE::QemuServer::Agent::guest_fsfreeze($vmid); };
warn $@ if $@;
} elsif ($agent_running && !$qga) {
@@ -183,7 +183,7 @@ sub qemu_drive_mirror_monitor {
qemu_blockjobs_cancel($vmid, $jobs);
if ($should_fsfreeze) {
- print "unfreeze filesystem\n";
+ print "issuing guest agent 'guest-fsfreeze-thaw' command\n";
eval { PVE::QemuServer::Agent::guest_fsthaw($vmid); };
warn $@ if $@;
} else {
--
2.47.3
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 12+ messages in thread* [pve-devel] [PATCH qemu-server v5 8/9] deprecate freeze-fs-on-backup qga setting
2026-01-05 12:16 [pve-devel] [PATCH docs/guest-common/qemu-server v5 00/11] fix #1964: add setting to always disable freezing a guest's fs Maximiliano Sandoval
` (6 preceding siblings ...)
2026-01-05 12:16 ` [pve-devel] [PATCH qemu-server v5 7/9] block job: mirror: reword fsfreeze log entry Maximiliano Sandoval
@ 2026-01-05 12:16 ` Maximiliano Sandoval
2026-01-05 12:16 ` [pve-devel] [PATCH qemu-server v5 9/9] api: import: follow guest-fsfreeze setting Maximiliano Sandoval
` (2 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Maximiliano Sandoval @ 2026-01-05 12:16 UTC (permalink / raw)
To: pve-devel
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
src/PVE/QemuServer/Agent.pm | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/PVE/QemuServer/Agent.pm b/src/PVE/QemuServer/Agent.pm
index 7193d015..05ff4cae 100644
--- a/src/PVE/QemuServer/Agent.pm
+++ b/src/PVE/QemuServer/Agent.pm
@@ -35,8 +35,10 @@ our $agent_fmt = {
optional => 1,
default => 0,
},
+ # TODO Remove for Proxmox VE 10
'freeze-fs-on-backup' => {
- description => "Freeze/thaw guest filesystems on backup for consistency.",
+ description => "Deprecated: Use 'guest-fsfreeze' instead.\n\n"
+ . " Freeze/thaw guest filesystems on backup for consistency.",
type => 'boolean',
optional => 1,
default => 1,
--
2.47.3
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 12+ messages in thread* [pve-devel] [PATCH qemu-server v5 9/9] api: import: follow guest-fsfreeze setting
2026-01-05 12:16 [pve-devel] [PATCH docs/guest-common/qemu-server v5 00/11] fix #1964: add setting to always disable freezing a guest's fs Maximiliano Sandoval
` (7 preceding siblings ...)
2026-01-05 12:16 ` [pve-devel] [PATCH qemu-server v5 8/9] deprecate freeze-fs-on-backup qga setting Maximiliano Sandoval
@ 2026-01-05 12:16 ` Maximiliano Sandoval
2026-01-05 12:16 ` [pve-devel] [PATCH guest-common v5 1/1] abstract config: print when {, un}freezing a fs Maximiliano Sandoval
2026-01-05 12:16 ` [pve-devel] [PATCH docs v5 1/1] qm: document that import-from can issue a fsfreeze Maximiliano Sandoval
10 siblings, 0 replies; 12+ messages in thread
From: Maximiliano Sandoval @ 2026-01-05 12:16 UTC (permalink / raw)
To: pve-devel
This branch is triggered when we import-from a disk of a running VM.
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
src/PVE/API2/Qemu.pm | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/PVE/API2/Qemu.pm b/src/PVE/API2/Qemu.pm
index fc20c1c4..bd2eab97 100644
--- a/src/PVE/API2/Qemu.pm
+++ b/src/PVE/API2/Qemu.pm
@@ -374,6 +374,9 @@ my $import_from_volid = sub {
my ($src_storeid) = PVE::Storage::parse_volume_id($src_volid);
+ my $qga = $src_conf->{agent}
+ && PVE::QemuServer::Agent::get_qga_key($src_conf, 'guest-fsfreeze') // 1;
+
return PVE::QemuServer::clone_disk(
$storecfg,
$source_info,
@@ -382,7 +385,7 @@ my $import_from_volid = sub {
$vollist,
undef,
undef,
- $src_conf->{agent},
+ $qga,
PVE::Storage::get_bandwidth_limit('clone', [$src_storeid, $dest_info->{storage}]),
);
};
--
2.47.3
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 12+ messages in thread* [pve-devel] [PATCH guest-common v5 1/1] abstract config: print when {, un}freezing a fs
2026-01-05 12:16 [pve-devel] [PATCH docs/guest-common/qemu-server v5 00/11] fix #1964: add setting to always disable freezing a guest's fs Maximiliano Sandoval
` (8 preceding siblings ...)
2026-01-05 12:16 ` [pve-devel] [PATCH qemu-server v5 9/9] api: import: follow guest-fsfreeze setting Maximiliano Sandoval
@ 2026-01-05 12:16 ` Maximiliano Sandoval
2026-01-05 12:16 ` [pve-devel] [PATCH docs v5 1/1] qm: document that import-from can issue a fsfreeze Maximiliano Sandoval
10 siblings, 0 replies; 12+ messages in thread
From: Maximiliano Sandoval @ 2026-01-05 12:16 UTC (permalink / raw)
To: pve-devel
There are two callers of __snapshot_freeze: replication and snapshot. On
the former we already use the log function to log both freeze & thaw
instance and in this commit we add the later.
However, note that we do not have access to a log function at this stage
and we simply print.
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
src/PVE/AbstractConfig.pm | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/PVE/AbstractConfig.pm b/src/PVE/AbstractConfig.pm
index 420a10d..13accf8 100644
--- a/src/PVE/AbstractConfig.pm
+++ b/src/PVE/AbstractConfig.pm
@@ -840,6 +840,7 @@ sub snapshot_create {
$class->__snapshot_activate_storages($conf, 0);
if ($freezefs) {
+ print("freeze guest filesystem\n");
$class->__snapshot_freeze($vmid, 0);
}
@@ -860,6 +861,7 @@ sub snapshot_create {
if ($running) {
$class->__snapshot_create_vol_snapshots_hook($vmid, $snap, $running, "after");
if ($freezefs) {
+ print("unfreeze filesystem\n");
$class->__snapshot_freeze($vmid, 1);
}
$class->__snapshot_create_vol_snapshots_hook($vmid, $snap, $running, "after-unfreeze");
--
2.47.3
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 12+ messages in thread* [pve-devel] [PATCH docs v5 1/1] qm: document that import-from can issue a fsfreeze
2026-01-05 12:16 [pve-devel] [PATCH docs/guest-common/qemu-server v5 00/11] fix #1964: add setting to always disable freezing a guest's fs Maximiliano Sandoval
` (9 preceding siblings ...)
2026-01-05 12:16 ` [pve-devel] [PATCH guest-common v5 1/1] abstract config: print when {, un}freezing a fs Maximiliano Sandoval
@ 2026-01-05 12:16 ` Maximiliano Sandoval
10 siblings, 0 replies; 12+ messages in thread
From: Maximiliano Sandoval @ 2026-01-05 12:16 UTC (permalink / raw)
To: pve-devel
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
qm.adoc | 1 +
1 file changed, 1 insertion(+)
diff --git a/qm.adoc b/qm.adoc
index eb6ab4d..7002671 100644
--- a/qm.adoc
+++ b/qm.adoc
@@ -1520,6 +1520,7 @@ An 'fs-freeze' will be issued for any of the following operations on a VM:
* Creating a clone of a VM while it is running
* Replicating a VM while it is running
* Taking a snapshot without RAM of a running VM
+* Importing a disk image from a running guest will issue a freeze on the running guest
On Windows guests, some applications might handle consistent backups themselves
by hooking into the Windows VSS (Volume Shadow Copy Service) layer, a
--
2.47.3
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 12+ messages in thread