The host CPU related info stored in the capabilities cache is no
longer
valid after the host CPU changes. This is not a frequent situation in
real world, but it can easily happen in nested scenarios when a disk
image is started with various CPUs.
https://bugzilla.redhat.com/show_bug.cgi?id=1778819
Jiri Denemark (6):
util: Define g_autoptr callback for FILE
hostcpu: Introduce virHostCPUGetSignature
hostcpu: Implement virHostCPUGetSignature for x86
hostcpu: Implement virHostCPUGetSignature for ppc64
hostcpu: Implement virHostCPUGetSignature for s390
qemu: Invalidate capabilities when host CPU changes
src/libvirt_private.syms | 2 +
src/qemu/qemu_capabilities.c | 24 ++++
src/qemu/qemu_capspriv.h | 1 +
src/util/virfile.h | 1 +
src/util/virhostcpu.c | 111 ++++++++++++++++++
src/util/virhostcpu.h | 2 +
src/util/virhostcpupriv.h | 4 +
tests/qemucapsprobe.c | 2 +-
.../linux-ppc64-deconf-cpus.signature | 1 +
.../linux-ppc64-subcores1.signature | 1 +
.../linux-ppc64-subcores2.signature | 1 +
.../linux-ppc64-subcores3.signature | 1 +
.../linux-s390x-with-frequency.signature | 1 +
.../linux-x86_64-test1.signature | 1 +
.../linux-x86_64-test2.signature | 1 +
.../linux-x86_64-test3.signature | 1 +
.../linux-x86_64-test4.signature | 1 +
.../linux-x86_64-test5.signature | 1 +
.../linux-x86_64-test6.signature | 1 +
.../linux-x86_64-test7.signature | 1 +
.../linux-x86_64-test8.signature | 1 +
.../linux-x86_64-with-die.signature | 1 +
tests/virhostcputest.c | 42 ++++++-
23 files changed, 201 insertions(+), 2 deletions(-)
create mode 100644 tests/virhostcpudata/linux-ppc64-deconf-cpus.signature
create mode 100644 tests/virhostcpudata/linux-ppc64-subcores1.signature
create mode 100644 tests/virhostcpudata/linux-ppc64-subcores2.signature
create mode 100644 tests/virhostcpudata/linux-ppc64-subcores3.signature
create mode 100644 tests/virhostcpudata/linux-s390x-with-frequency.signature
create mode 100644 tests/virhostcpudata/linux-x86_64-test1.signature
create mode 100644 tests/virhostcpudata/linux-x86_64-test2.signature
create mode 100644 tests/virhostcpudata/linux-x86_64-test3.signature
create mode 100644 tests/virhostcpudata/linux-x86_64-test4.signature
create mode 100644 tests/virhostcpudata/linux-x86_64-test5.signature
create mode 100644 tests/virhostcpudata/linux-x86_64-test6.signature
create mode 100644 tests/virhostcpudata/linux-x86_64-test7.signature
create mode 100644 tests/virhostcpudata/linux-x86_64-test8.signature
create mode 100644 tests/virhostcpudata/linux-x86_64-with-die.signature