[pve-devel] [PATCH qemu-server] version_guard: early out when major/minor version is high enough

Stefan Reiter s.reiter at proxmox.com
Thu Mar 19 11:03:13 CET 2020


E.g.: If a feature requires 4.1+pveN and we're using machine version 4.2
we don't need to increase the pve version to N (4.2+pve0 is enough).

We check this by doing a min_version call against a non-existant higher
pve-version for the major/minor tuple we want to test for, which can
only work if the major/minor alone is high enough.

Signed-off-by: Stefan Reiter <s.reiter at proxmox.com>
---
 PVE/QemuServer.pm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index e022141..a5b000e 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -2962,6 +2962,8 @@ sub config_to_command {
     my $version_guard = sub {
 	my ($major, $minor, $pve) = @_;
 	return 0 if !min_version($machine_version, $major, $minor, $pve);
+	my $max_pve = PVE::QemuServer::Machine::get_pve_version("$major.$minor");
+	return 1 if min_version($machine_version, $major, $minor, $max_pve+1);
 	$required_pve_version = $pve if $pve && $pve > $required_pve_version;
 	return 1;
     };
-- 
2.25.1





More information about the pve-devel mailing list