Fix -cpu max and require libvirt >= 7.1.0.
This commit is contained in:
parent
e38829eec1
commit
175743174b
@ -0,0 +1,47 @@
|
|||||||
|
From 13ceb6a87b2869909a6a0e3c8caa962b72e4cb0e Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
|
Date: Thu, 18 Mar 2021 12:32:26 +0000
|
||||||
|
Subject: [PATCH] appliance: Use <cpu mode="maximum"/> for -cpu max on libvirt.
|
||||||
|
|
||||||
|
Note this requires libvirt >= 7.1.0 which was only released in March 2021.
|
||||||
|
|
||||||
|
With an older libvirt you will see this error:
|
||||||
|
|
||||||
|
Original error from libvirt: unsupported configuration: Invalid mode attribute 'maximum' [code=67 int1=-1]
|
||||||
|
|
||||||
|
In theory we could check if this is supported by looking at the
|
||||||
|
libvirt capabilities and fall back, but this commit does not do that,
|
||||||
|
in the expectation that most people will be using the default backend
|
||||||
|
(direct) and on Fedora/RHEL we will add an explicit minimum version
|
||||||
|
dependency to the package.
|
||||||
|
|
||||||
|
qemu support has been around quite a bit longer (at least since 2017).
|
||||||
|
|
||||||
|
Fixes: commit 30f74f38bd6e42e783ba80895f4d6826abddd417
|
||||||
|
---
|
||||||
|
lib/launch-libvirt.c | 9 ++-------
|
||||||
|
1 file changed, 2 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/launch-libvirt.c b/lib/launch-libvirt.c
|
||||||
|
index 2d995bee0..194530c49 100644
|
||||||
|
--- a/lib/launch-libvirt.c
|
||||||
|
+++ b/lib/launch-libvirt.c
|
||||||
|
@@ -1183,13 +1183,8 @@ construct_libvirt_xml_cpu (guestfs_h *g,
|
||||||
|
} end_element ();
|
||||||
|
}
|
||||||
|
else if (STREQ (cpu_model, "max")) {
|
||||||
|
- if (params->data->is_kvm)
|
||||||
|
- attribute ("mode", "host-passthrough");
|
||||||
|
- else
|
||||||
|
- attribute ("mode", "host-model");
|
||||||
|
- start_element ("model") {
|
||||||
|
- attribute ("fallback", "allow");
|
||||||
|
- } end_element ();
|
||||||
|
+ /* https://bugzilla.redhat.com/show_bug.cgi?id=1935572#c11 */
|
||||||
|
+ attribute ("mode", "maximum");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
single_element ("model", cpu_model);
|
||||||
|
--
|
||||||
|
2.29.0.rc2
|
||||||
|
|
@ -56,7 +56,7 @@ Summary: Access and modify virtual machine disk images
|
|||||||
Name: libguestfs
|
Name: libguestfs
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Version: 1.45.1
|
Version: 1.45.1
|
||||||
Release: 5%{?dist}
|
Release: 6%{?dist}
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
|
|
||||||
# Build only for architectures that have a kernel
|
# Build only for architectures that have a kernel
|
||||||
@ -92,6 +92,11 @@ Patch0: %{name}-php8.patch
|
|||||||
# Remove dependency on perl(Sys::Virt) (upstream in libguestfs >= 1.45.2)
|
# Remove dependency on perl(Sys::Virt) (upstream in libguestfs >= 1.45.2)
|
||||||
Patch1: 0001-tests-Remove-dependency-on-Sys-Virt.patch
|
Patch1: 0001-tests-Remove-dependency-on-Sys-Virt.patch
|
||||||
|
|
||||||
|
# Fix -cpu max mode with libvirt backend.
|
||||||
|
# Upstream in libguestfs >= 1.45.2.
|
||||||
|
# Requires libvirt >= 7.1.0
|
||||||
|
Patch2: 0001-appliance-Use-cpu-mode-maximum-for-cpu-max-on-libvir.patch
|
||||||
|
|
||||||
%if 0%{patches_touch_autotools}
|
%if 0%{patches_touch_autotools}
|
||||||
BuildRequires: autoconf, automake, libtool, gettext-devel
|
BuildRequires: autoconf, automake, libtool, gettext-devel
|
||||||
%endif
|
%endif
|
||||||
@ -134,7 +139,7 @@ BuildRequires: unzip
|
|||||||
BuildRequires: systemd-units
|
BuildRequires: systemd-units
|
||||||
BuildRequires: netpbm-progs
|
BuildRequires: netpbm-progs
|
||||||
BuildRequires: icoutils
|
BuildRequires: icoutils
|
||||||
BuildRequires: libvirt-daemon-kvm >= 5.3.0
|
BuildRequires: libvirt-daemon-kvm >= 7.1.0
|
||||||
%if !0%{?rhel}
|
%if !0%{?rhel}
|
||||||
BuildRequires: perl(Expect)
|
BuildRequires: perl(Expect)
|
||||||
%endif
|
%endif
|
||||||
@ -328,7 +333,7 @@ Suggests: qemu-block-iscsi
|
|||||||
Suggests: qemu-block-rbd
|
Suggests: qemu-block-rbd
|
||||||
Suggests: qemu-block-ssh
|
Suggests: qemu-block-ssh
|
||||||
Recommends: libvirt-daemon-config-network
|
Recommends: libvirt-daemon-config-network
|
||||||
Requires: libvirt-daemon-driver-qemu
|
Requires: libvirt-daemon-driver-qemu >= 7.1.0
|
||||||
Requires: libvirt-daemon-driver-secret
|
Requires: libvirt-daemon-driver-secret
|
||||||
Recommends: libvirt-daemon-driver-storage-core
|
Recommends: libvirt-daemon-driver-storage-core
|
||||||
Requires: selinux-policy >= 3.11.1-63
|
Requires: selinux-policy >= 3.11.1-63
|
||||||
@ -1310,8 +1315,9 @@ rm ocaml/html/.gitignore
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Thu Mar 18 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.1-5
|
* Thu Mar 18 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.1-6
|
||||||
- Drop dependency on perl(Sys::Virt).
|
- Drop dependency on perl(Sys::Virt).
|
||||||
|
- Fix -cpu max and require libvirt >= 7.1.0.
|
||||||
|
|
||||||
* Wed Mar 10 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.1-4
|
* Wed Mar 10 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.1-4
|
||||||
- Drop Requires: libvirt-daemon-kvm, pulls in the whole of qemu and subpkgs.
|
- Drop Requires: libvirt-daemon-kvm, pulls in the whole of qemu and subpkgs.
|
||||||
|
Loading…
Reference in New Issue
Block a user