mirror of
git://git.proxmox.com/git/qemu-server.git
synced 2025-01-08 21:18:03 +03:00
fix #2816: restore: remove timeout when allocating disks
10 minutes is not long enough when disks are large and/or network storages are used when preallocation is not disabled. The default is metadata preallocation for qcow2, so there are still reports of the issue [0][1]. If allocation really does not finish like the comment describing the timeout feared, just let the user cancel it. Also note that when restoring a PBS backup, there is no timeout for disk allocation, and there don't seem to be any user complaints yet. The 5 second timeout for receiving the config from vma is kept, because certain corruptions in the VMA header can lead to the operation hanging there. There is no need for the $tmp variable before setting back the old timeout, because that is at least one second, so we'll always be able to set the $oldtimeout variable to undef in time in practice. Currently, there shouldn't even be an outer timeout in the first place, because the only call path leading to here is via the create API (also used by qmrestore), both of which don't set a timeout. [0]: https://forum.proxmox.com/threads/126825/ [1]: https://forum.proxmox.com/threads/128093/ Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
This commit is contained in:
parent
6d1ac42b95
commit
853757ccec
@ -7483,14 +7483,11 @@ sub restore_vma_archive {
|
||||
$devinfo->{$devname} = { size => $size, dev_id => $dev_id };
|
||||
} elsif ($line =~ m/^CTIME: /) {
|
||||
# we correctly received the vma config, so we can disable
|
||||
# the timeout now for disk allocation (set to 10 minutes, so
|
||||
# that we always timeout if something goes wrong)
|
||||
alarm(600);
|
||||
# the timeout now for disk allocation
|
||||
alarm($oldtimeout || 0);
|
||||
$oldtimeout = undef;
|
||||
&$print_devmap();
|
||||
print $fifofh "done\n";
|
||||
my $tmp = $oldtimeout || 0;
|
||||
$oldtimeout = undef;
|
||||
alarm($tmp);
|
||||
close($fifofh);
|
||||
$fifofh = undef;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user