vzdump: getlock: return lock file handle and let the caller close it

so it doesn't get out of scope too early.

Regression introduced by 5620e5761e as pointed
out by Fabian Grünbichler.

Reported in the community forum:
https://forum.proxmox.com/threads/limit-simultaneous-backup-jobs.87489

Suggested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
This commit is contained in:
Fabian Ebner 2021-04-12 10:47:31 +02:00 committed by Thomas Lamprecht
parent 164651dab6
commit 875c2e5aae
2 changed files with 5 additions and 1 deletions

View File

@ -106,7 +106,7 @@ __PACKAGE__->register_method ({
$param->{vmids} = $local_vmids;
my $vzdump = PVE::VZDump->new($cmdline, $param, $skiplist);
eval {
my $LOCK_FH = eval {
$vzdump->getlock($upid); # only one process allowed
};
if (my $err = $@) {
@ -122,6 +122,8 @@ __PACKAGE__->register_method ({
}
}
$vzdump->exec_backup($rpcenv, $user);
close($LOCK_FH);
};
open STDOUT, '>/dev/null' if $param->{quiet} && !$param->{stdout};

View File

@ -621,6 +621,8 @@ sub getlock {
}
PVE::Tools::file_set_contents($pidfile, $upid);
return $SERVER_FLCK;
}
sub run_hook_script {