machine: split out helper for handling query-machines qmp command result

to be re-used in the vmstatus() call.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
Reviewed-by: Stefan Reiter <s.reiter@proxmox.com>
This commit is contained in:
Fabian Ebner 2021-03-01 16:53:25 +01:00 committed by Thomas Lamprecht
parent f8d2a1ce99
commit ea71be24d6

View File

@ -18,11 +18,8 @@ sub machine_type_is_q35 {
return $conf->{machine} && ($conf->{machine} =~ m/q35/) ? 1 : 0;
}
# this only works if VM is running
sub get_current_qemu_machine {
my ($vmid) = @_;
my $res = PVE::QemuServer::Monitor::mon_cmd($vmid, 'query-machines');
sub current_from_query_machines {
my ($res) = @_;
my ($current, $pve_version, $default);
foreach my $e (@$res) {
@ -37,6 +34,15 @@ sub get_current_qemu_machine {
return $current || $default || 'pc';
}
# this only works if VM is running
sub get_current_qemu_machine {
my ($vmid) = @_;
my $res = PVE::QemuServer::Monitor::mon_cmd($vmid, 'query-machines');
return current_from_query_machines($res);
}
# returns a string with major.minor+pve<VERSION>, patch version-part is ignored
# as it's seldom ressembling a real QEMU machine type, so it would be '0' 99% of
# the time anyway.. This explicitly separates pveversion from the machine.