From: Fabian Ebner Date: Mon, 12 Apr 2021 08:47:31 +0000 (+0200) Subject: vzdump: getlock: return lock file handle and let the caller close it X-Git-Url: https://git.proxmox.com/?p=pve-manager.git;a=commitdiff_plain;h=875c2e5aaede80e71a2daaf90f472abd0407a9ba 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 5620e5761efc6617ee8e8b004cfdd604547125fc 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 Signed-off-by: Fabian Ebner --- diff --git a/PVE/API2/VZDump.pm b/PVE/API2/VZDump.pm index 44376106..94bb0605 100644 --- a/PVE/API2/VZDump.pm +++ b/PVE/API2/VZDump.pm @@ -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}; diff --git a/PVE/VZDump.pm b/PVE/VZDump.pm index fb4c8bad..171d208e 100644 --- a/PVE/VZDump.pm +++ b/PVE/VZDump.pm @@ -621,6 +621,8 @@ sub getlock { } PVE::Tools::file_set_contents($pidfile, $upid); + + return $SERVER_FLCK; } sub run_hook_script {