]> git.proxmox.com Git - qemu-server.git/commitdiff
fix #2469: fix qemu-img convert src_format detection
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Mon, 9 Dec 2019 09:31:33 +0000 (10:31 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Mon, 9 Dec 2019 09:31:33 +0000 (10:31 +0100)
This reverts commit c5151cb8bb5f919c9e621065224c3d455b60f833 which is
a revert of the wrongly done revert of
commit e2414e73ce75893a143dc32cf6a4e58159cc25ff.

PVE/QemuServer.pm
test/run_qemu_img_convert_tests.pl

index 0d0e6108914e73bf059ffe0ad406302cc4ace3c2..76146ca22f43d5ae31e60d9aa77d02d53f8625cd 100644 (file)
@@ -6722,7 +6722,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);
@@ -6747,14 +6747,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;
     }
 
index 8a57108d7ad2f3a481b24eae2671919fa208e8ce..bd5542fb8aed99e2d96f9f91c1b46e3298b59864 100755 (executable)
@@ -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",
        ]