when reserving ports, we use lock_file to lock the
reservation file, but then use file_set_content which
writes a new file and renames it, making the lock invalid
and different processes waiting for the lock get inconsistent
data
instead we use a designated lock file for the lock, so that we don't
lose the lock when writing the reservation file
this should fix the problem that sometimes multiple vms get the
same vnc/spice port
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
- my $p = lock_file($filename, 10, $code);
+ my $p = lock_file('/var/lock/pve-ports.lck', 10, $code);
die $@ if $@;
die "unable to find free port (${range_start}-${range_end})\n" if !$p;
die $@ if $@;
die "unable to find free port (${range_start}-${range_end})\n" if !$p;