Move the code attaching the +pve version from the single call site into the get_installed_machine_version() helper. Rename the helper to latest_installed_machine_version() to make it a bit more explicit.
This is in preparation for the upcoming qemu-storage-daemon functionality re-using this helper. Signed-off-by: Fiona Ebner <[email protected]> Reviewed-by: Daniel Kral <[email protected]> Tested-by: Daniel Kral <[email protected]> --- src/PVE/QemuServer/Machine.pm | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/PVE/QemuServer/Machine.pm b/src/PVE/QemuServer/Machine.pm index b2ff7e24..719b134d 100644 --- a/src/PVE/QemuServer/Machine.pm +++ b/src/PVE/QemuServer/Machine.pm @@ -308,11 +308,17 @@ sub qemu_machine_pxe { return $machine; } -sub get_installed_machine_version { +sub latest_installed_machine_version { my ($kvmversion) = @_; + $kvmversion = PVE::QemuServer::Helpers::kvm_user_version() if !defined($kvmversion); - $kvmversion =~ m/^(\d+\.\d+)/; - return $1; + + my ($version) = ($kvmversion =~ m/^(\d+\.\d+)/); + + my $pvever = get_pve_version($version); + $version .= "+pve$pvever" if $pvever > 0; + + return $version; } sub windows_get_pinned_machine_version { @@ -320,12 +326,7 @@ sub windows_get_pinned_machine_version { my $pin_version = $base_version; if (!defined($base_version) || !can_run_pve_machine_version($base_version, $kvmversion)) { - $pin_version = get_installed_machine_version($kvmversion); - # pin to the current pveX version to make use of most current features if > 0 - my $pvever = get_pve_version($pin_version); - if ($pvever > 0) { - $pin_version .= "+pve$pvever"; - } + $pin_version = latest_installed_machine_version($kvmversion); } if (!$machine || $machine eq 'pc') { $machine = "pc-i440fx-$pin_version"; -- 2.47.3 _______________________________________________ pve-devel mailing list [email protected] https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
