mirror of
https://git.proxmox.com/git/qemu-server
synced 2025-08-07 20:13:44 +00:00
archive_pbs: call backup_cancel only when job is really started
This commit is contained in:
parent
d2cc2cbe69
commit
f6168f1a6a
@ -421,6 +421,8 @@ sub archive_pbs {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
my $backup_job_uuid;
|
||||||
|
|
||||||
my $interrupt_msg = "interrupted by signal\n";
|
my $interrupt_msg = "interrupted by signal\n";
|
||||||
eval {
|
eval {
|
||||||
$SIG{INT} = $SIG{TERM} = $SIG{QUIT} = $SIG{HUP} = $SIG{PIPE} = sub {
|
$SIG{INT} = $SIG{TERM} = $SIG{QUIT} = $SIG{HUP} = $SIG{PIPE} = sub {
|
||||||
@ -440,8 +442,6 @@ sub archive_pbs {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
my $uuid;
|
|
||||||
|
|
||||||
eval {
|
eval {
|
||||||
|
|
||||||
my $params = {
|
my $params = {
|
||||||
@ -456,7 +456,7 @@ sub archive_pbs {
|
|||||||
$params->{fingerprint} = $fingerprint if defined($fingerprint);
|
$params->{fingerprint} = $fingerprint if defined($fingerprint);
|
||||||
$params->{'firewall-file'} = $firewall if -e $firewall;
|
$params->{'firewall-file'} = $firewall if -e $firewall;
|
||||||
my $res = mon_cmd($vmid, "backup", %$params);
|
my $res = mon_cmd($vmid, "backup", %$params);
|
||||||
$uuid = $res->{UUID};
|
$backup_job_uuid = $res->{UUID};
|
||||||
};
|
};
|
||||||
|
|
||||||
my $qmperr = $@;
|
my $qmperr = $@;
|
||||||
@ -470,9 +470,9 @@ sub archive_pbs {
|
|||||||
|
|
||||||
die $qmperr if $qmperr;
|
die $qmperr if $qmperr;
|
||||||
|
|
||||||
die "got no uuid for backup task\n" if !$uuid;
|
die "got no uuid for backup task\n" if !defined($backup_job_uuid);
|
||||||
|
|
||||||
$self->loginfo("started backup task '$uuid'");
|
$self->loginfo("started backup task '$backup_job_uuid'");
|
||||||
|
|
||||||
if ($resume_on_backup) {
|
if ($resume_on_backup) {
|
||||||
if (my $stoptime = $task->{vmstoptime}) {
|
if (my $stoptime = $task->{vmstoptime}) {
|
||||||
@ -485,18 +485,20 @@ sub archive_pbs {
|
|||||||
mon_cmd($vmid, 'cont');
|
mon_cmd($vmid, 'cont');
|
||||||
}
|
}
|
||||||
|
|
||||||
$query_backup_status_loop->($self, $vmid, $uuid);
|
$query_backup_status_loop->($self, $vmid, $backup_job_uuid);
|
||||||
};
|
};
|
||||||
my $err = $@;
|
my $err = $@;
|
||||||
|
|
||||||
if ($err) {
|
if ($err) {
|
||||||
$self->logerr($err);
|
$self->logerr($err);
|
||||||
|
if (defined($backup_job_uuid)) {
|
||||||
$self->loginfo("aborting backup job");
|
$self->loginfo("aborting backup job");
|
||||||
eval { mon_cmd($vmid, 'backup-cancel'); };
|
eval { mon_cmd($vmid, 'backup-cancel'); };
|
||||||
if (my $err1 = $@) {
|
if (my $err1 = $@) {
|
||||||
$self->logerr($err1);
|
$self->logerr($err1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ($stop_after_backup) {
|
if ($stop_after_backup) {
|
||||||
# stop if not running
|
# stop if not running
|
||||||
|
Loading…
Reference in New Issue
Block a user