From: Fabian Grünbichler Date: Wed, 29 Apr 2020 08:52:53 +0000 (+0200) Subject: clone_vmfw_conf: lock new config X-Git-Url: https://git.proxmox.com/?p=pve-firewall.git;a=commitdiff_plain;h=9388a8f47a6db83a8a1f8f2b5852b6792fffa0f4;ds=sidebyside clone_vmfw_conf: lock new config Signed-off-by: Fabian Grünbichler --- diff --git a/src/PVE/Firewall.pm b/src/PVE/Firewall.pm index 84f71d6..c342167 100644 --- a/src/PVE/Firewall.pm +++ b/src/PVE/Firewall.pm @@ -3282,13 +3282,15 @@ sub clone_vmfw_conf { my $sourcevm_conffile = "$pvefw_conf_dir/$vmid.fw"; my $clonevm_conffile = "$pvefw_conf_dir/$newid.fw"; - if (-f $clonevm_conffile) { - unlink $clonevm_conffile; - } - if (-f $sourcevm_conffile) { - my $data = PVE::Tools::file_get_contents($sourcevm_conffile); - PVE::Tools::file_set_contents($clonevm_conffile, $data); - } + lock_vmfw_conf($newid, 10, sub { + if (-f $clonevm_conffile) { + unlink $clonevm_conffile; + } + if (-f $sourcevm_conffile) { + my $data = PVE::Tools::file_get_contents($sourcevm_conffile); + PVE::Tools::file_set_contents($clonevm_conffile, $data); + } + }); } sub read_vm_firewall_configs {