5
0
mirror of git://git.proxmox.com/git/qemu-server.git synced 2024-12-23 17:34:19 +03:00

fix #2469: fix qemu-img convert src_format detection

if we don't know which format the source volume/file has, let qemu-img
decide.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Fabian Grünbichler 2019-11-25 12:03:28 +01:00 committed by Thomas Lamprecht
parent cbfff937ae
commit e2414e73ce
2 changed files with 6 additions and 5 deletions

View File

@ -6715,7 +6715,7 @@ sub qemu_img_convert {
my $cachemode;
my $src_path;
my $src_is_iscsi = 0;
my $src_format = 'raw';
my $src_format;
if ($src_storeid) {
PVE::Storage::activate_volumes($storecfg, [$src_volid], $snapname);
@ -6740,14 +6740,15 @@ sub qemu_img_convert {
my $cmd = [];
push @$cmd, '/usr/bin/qemu-img', 'convert', '-p', '-n';
push @$cmd, '-l', "snapshot.name=$snapname" if($snapname && $src_format eq "qcow2");
push @$cmd, '-l', "snapshot.name=$snapname"
if $snapname && $src_format && $src_format eq "qcow2";
push @$cmd, '-t', 'none' if $dst_scfg->{type} eq 'zfspool';
push @$cmd, '-T', $cachemode if defined($cachemode);
if ($src_is_iscsi) {
push @$cmd, '--image-opts';
$src_path = convert_iscsi_path($src_path);
} else {
} elsif ($src_format) {
push @$cmd, '-f', $src_format;
}

View File

@ -170,7 +170,7 @@ my $tests = [
name => "efidisk",
parameters => [ "/usr/share/kvm/OVMF_VARS-pure-efi.fd", "local:$vmid/vm-$vmid-disk-0.raw", 1024*10, undef, 0 ],
expected => [
"/usr/bin/qemu-img", "convert", "-p", "-n", "-f", "raw", "-O", "raw",
"/usr/bin/qemu-img", "convert", "-p", "-n", "-O", "raw",
"/usr/share/kvm/OVMF_VARS-pure-efi.fd",
"/var/lib/vz/images/$vmid/vm-$vmid-disk-0.raw",
]
@ -179,7 +179,7 @@ my $tests = [
name => "efi2zos",
parameters => [ "/usr/share/kvm/OVMF_VARS-pure-efi.fd", "zfs-over-iscsi:vm-$vmid-disk-0", 1024*10, undef, 0 ],
expected => [
"/usr/bin/qemu-img", "convert", "-p", "-n", "-f", "raw", "--target-image-opts",
"/usr/bin/qemu-img", "convert", "-p", "-n", "--target-image-opts",
"/usr/share/kvm/OVMF_VARS-pure-efi.fd",
"file.driver=iscsi,file.transport=tcp,file.initiator-name=foobar,file.portal=127.0.0.1,file.target=iqn.2019-10.org.test:foobar,file.lun=1,driver=raw",
]