[pve-devel] applied: [PATCH qemu-server 1/2] Fix 2070: vm_start: for a migrating VM, use current format of disk if possible

Thomas Lamprecht t.lamprecht at proxmox.com
Tue Jan 21 07:49:32 CET 2020


On 1/20/20 2:00 PM, Fabian Ebner wrote:
> Signed-off-by: Fabian Ebner <f.ebner at proxmox.com>
> ---
>  PVE/QemuServer.pm | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
> index 9ef3b71..59335c5 100644
> --- a/PVE/QemuServer.pm
> +++ b/PVE/QemuServer.pm
> @@ -5376,13 +5376,16 @@ sub vm_start {
>  		my ($volid, $storeid, $volname) = @{$local_volumes->{$opt}};
>  		my $drive = parse_drive($opt, $conf->{$opt});
>  
> -		#if remote storage is specified, use default format
> +		# If a remote storage is specified and the format of the original
> +		# volume is not available there, fall back to the default format.
> +		# Otherwise use the same format as the original.
>  		if ($targetstorage && $targetstorage ne "1") {
>  		    $storeid = $targetstorage;
>  		    my ($defFormat, $validFormats) = PVE::Storage::storage_default_format($storecfg, $storeid);
> -		    $format = $defFormat;
> +		    my $scfg = PVE::Storage::storage_config($storecfg, $storeid);
> +		    my $fileFormat = qemu_img_format($scfg, $volname);
> +		    $format = (grep {$fileFormat eq $_} @{$validFormats}) ? $fileFormat : $defFormat;
>  		} else {
> -		    #else we use same format than original
>  		    my $scfg = PVE::Storage::storage_config($storecfg, $storeid);
>  		    $format = qemu_img_format($scfg, $volid);
>  		}
> 

applied, thanks!




More information about the pve-devel mailing list