From cb521f2d8808720a2c15297e04c4cefda7368605 Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Sun, 3 May 2020 11:13:36 +0200 Subject: [PATCH] backup: never try to freeze in stop mode backup VM was can be true for stop mode backup, we cannot check the "is VM currently running" as that doesn't tells us anything (could be the backup process), so check the mode also.. Signed-off-by: Thomas Lamprecht --- PVE/VZDump/QemuServer.pm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/PVE/VZDump/QemuServer.pm b/PVE/VZDump/QemuServer.pm index 38dcdb11..46079b88 100644 --- a/PVE/VZDump/QemuServer.pm +++ b/PVE/VZDump/QemuServer.pm @@ -389,7 +389,7 @@ sub archive_pbs { die "interrupted by signal\n"; }; - my $fs_frozen = $self->qga_fs_freeze($vmid); + my $fs_frozen = $self->qga_fs_freeze($task, $vmid); my $params = { format => "pbs", @@ -572,7 +572,7 @@ sub archive_vma { $qmpclient->queue_cmd($vmid, $add_fd_cb, 'getfd', fd => $outfileno, fdname => "backup"); - my $fs_frozen = $self->qga_fs_freeze($vmid); + my $fs_frozen = $self->qga_fs_freeze($task, $vmid); eval { $qmpclient->queue_execute(30) }; my $qmperr = $@; @@ -640,8 +640,8 @@ sub _get_task_devlist { } sub qga_fs_freeze { - my ($self, $vmid) = @_; - return if !$self->{vmlist}->{$vmid}->{agent} || !$self->{vm_was_running}; + my ($self, $task, $vmid) = @_; + return if !$self->{vmlist}->{$vmid}->{agent} || $task->{mode} eq 'stop' || !$self->{vm_was_running}; if (!PVE::QemuServer::qga_check_running($vmid, 1)) { $self->loginfo("skipping guest-agent 'fs-freeze', agent configured but not running?");