Some of the recent QMP changes require at least 2.12.0, but since the
oldest version we officially package for 6.x is 4.0.0 anyway, checking
for at least 3.0 should not break anyone's setup.

Note that this does not affect machine version checks, only the
installed QEMU binary version.

Signed-off-by: Stefan Reiter <s.rei...@proxmox.com>
---

Previous minimum was 0.15, but I have a feeling that even if you managed to
install QEMU 0.15 somehow, it wouldn't have worked anyway.

3.0 is a reasonable requirement IMO, although technically 2.12 would probably
work too, if there's a use-case for using such an outdated QEMU.

 PVE/QemuServer.pm | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 318ee54..de09d90 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -3405,7 +3405,6 @@ sub config_to_command {
     my $devices = [];
     my $pciaddr = '';
     my $bridges = {};
-    my $vernum = 0; # unknown
     my $ostype = $conf->{ostype};
     my $winversion = windows_version($ostype);
     my $kvm = $conf->{kvm};
@@ -3415,6 +3414,11 @@ sub config_to_command {
     my $kvm_binary = get_command_for_arch($arch);
     my $kvmver = kvm_user_version($kvm_binary);
 
+    $kvmver =~ m/^(\d+)\.(\d+)/;
+    if ($1 < 3) {
+       die "Detected old QEMU binary ('$kvmver', at least 3.0 is required)\n";
+    }
+
     my $add_pve_version = min_version($kvmver, 4, 1);
 
     my $machine_type = get_vm_machine($conf, $forcemachine, $arch, 
$add_pve_version);
@@ -3430,14 +3434,6 @@ sub config_to_command {
            if !defined kvm_version();
     }
 
-    if ($kvmver =~ m/^(\d+)\.(\d+)$/) {
-       $vernum = $1*1000000+$2*1000;
-    } elsif ($kvmver =~ m/^(\d+)\.(\d+)\.(\d+)$/) {
-       $vernum = $1*1000000+$2*1000+$3;
-    }
-
-    die "detected old qemu-kvm binary ($kvmver)\n" if $vernum < 15000;
-
     my $q35 = PVE::QemuServer::Machine::machine_type_is_q35($conf);
     my $hotplug_features = parse_hotplug_features(defined($conf->{hotplug}) ? 
$conf->{hotplug} : '1');
     my $use_old_bios_files = undef;
-- 
2.20.1


_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to