[pve-devel] [PATCH v2 qemu-server 1/3] Fix #2816: remove timeout for allocation on restore
Fabian Ebner
f.ebner at proxmox.com
Wed Aug 12 12:01:25 CEST 2020
qcow2 images are allocated with --preallocation=metadata,
which can take a while for large images.
A 5 second timeout is set before reading the device map, so it's
necessary to restore the old timeout before calling print_devmap().
Time spent allocating now falls under that old timeout.
Signed-off-by: Fabian Ebner <f.ebner at proxmox.com>
---
Changes from v1:
* instead of increasing the allocation timeout,
get rid of it as Fabian suggested
PVE/QemuServer.pm | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index a9c0dac..7169006 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -6274,15 +6274,13 @@ sub restore_vma_archive {
my ($dev_id, $size, $devname) = ($1, $2, $3);
$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);
- &$print_devmap();
- print $fifofh "done\n";
+ # we correctly received the vma config, so restore old timeout
my $tmp = $oldtimeout || 0;
$oldtimeout = undef;
alarm($tmp);
+
+ &$print_devmap();
+ print $fifofh "done\n";
close($fifofh);
}
};
--
2.20.1
More information about the pve-devel
mailing list