On 2/10/20 11:31 AM, Stefan Reiter wrote: > 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"; > + }
this is a slight change in behavior though, previously we died if the regex did not match, as $vernum defaulted to zero and thus was < 15000. Now we do not anymore, (kvm_user_version does not die on failed detection) Maybe: my (undef, $vmajor, $vminor) = $kvmver =~ m/^(\d+)\.(\d+)/; if (!$vmajor || $vmajor < 3) { die ... > + > 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; > _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel