[pve-devel] [PATCH v2 qemu-server 1/3] Fix #2816: remove timeout for allocation on restore

Thomas Lamprecht t.lamprecht at proxmox.com
Thu Aug 20 10:56:24 CEST 2020


On 12.08.20 12:01, Fabian Ebner wrote:
> 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

s/seconds/minutes/ ?

> 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);
>  	    }
>  	};
> 





More information about the pve-devel mailing list