diff --git a/kvm-disable-ac97-audio.patch b/kvm-disable-ac97-audio.patch new file mode 100644 index 0000000..469c6c4 --- /dev/null +++ b/kvm-disable-ac97-audio.patch @@ -0,0 +1,37 @@ +From e2bb4b752d68856c4c307640ae310f47f680aed6 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Fri, 20 Aug 2021 10:21:07 +0200 +Subject: [PATCH 2/4] disable ac97 audio +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +RH-Author: Gerd Hoffmann +RH-MergeRequest: 39: disable ac97 audio +RH-Commit: [1/1] 5d1bd969d20f960cb0a023f0d6cd1ae5adda22e6 (kraxel/centos-qemu-kvm) +RH-Bugzilla: 1995819 +RH-Acked-by: Miroslav Rezanina +RH-Acked-by: Philippe Mathieu-Daudé +RH-Acked-by: Thomas Huth + +RH-Bugzilla: 1995819 + +Signed-off-by: Gerd Hoffmann +--- + default-configs/devices/x86_64-rh-devices.mak | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/default-configs/devices/x86_64-rh-devices.mak b/default-configs/devices/x86_64-rh-devices.mak +index c2dd112f81..8ae2747bf6 100644 +--- a/default-configs/devices/x86_64-rh-devices.mak ++++ b/default-configs/devices/x86_64-rh-devices.mak +@@ -1,6 +1,5 @@ + include rh-virtio.mak + +-CONFIG_AC97=y + CONFIG_ACPI=y + CONFIG_ACPI_PCI=y + CONFIG_ACPI_CPU_HOTPLUG=y +-- +2.27.0 + diff --git a/kvm-qcow2-Deprecation-warning-when-opening-v2-images-rw.patch b/kvm-qcow2-Deprecation-warning-when-opening-v2-images-rw.patch new file mode 100644 index 0000000..8b618c0 --- /dev/null +++ b/kvm-qcow2-Deprecation-warning-when-opening-v2-images-rw.patch @@ -0,0 +1,70 @@ +From 9d2700ed836cdfabbd031da74cd5a3d01c9127dd Mon Sep 17 00:00:00 2001 +From: Kevin Wolf +Date: Fri, 20 Aug 2021 18:25:12 +0200 +Subject: [PATCH 1/4] qcow2: Deprecation warning when opening v2 images rw +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +RH-Author: Kevin Wolf +RH-MergeRequest: 37: qcow2: Deprecation warning when opening v2 images rw +RH-Commit: [1/1] f450d0ae32d35063b28c72c4f2d2ebb9e6d8db3e (kmwolf/centos-qemu-kvm) +RH-Bugzilla: 1951814 +RH-Acked-by: Stefan Hajnoczi +RH-Acked-by: Hanna Reitz +RH-Acked-by: Thomas Huth +RH-Acked-by: Philippe Mathieu-Daudé + +qcow2 v3 has been around for a long time (since QEMU 1.1/RHEL 7), so +there is no real reason any more to use it. People still using it might +do so unintentionally. Warn about it and suggest upgrading during the +RHEL 9 timeframe so that the code can possibly be disabled in RHEL 10. + +The warning is restricted to read-write mode and the system emulator. +The primary motivation for not having it in qemu-img is that 'qemu-img +amend' for upgrades would warn otherwise. It also avoids having to make +too many changes to the test suite. + +bdrv_uses_whitelist() is used as a proxy for deciding whether we are +running in a tool or the system emulator. This is not entirely clean, +but it's what is available and the same function qcow2_do_open() already +uses it this way for another warning. + +Signed-off-by: Kevin Wolf +--- + block/qcow2.c | 6 ++++++ + tests/qemu-iotests/common.filter | 1 + + 2 files changed, 7 insertions(+) + +diff --git a/block/qcow2.c b/block/qcow2.c +index 9727ae8fe3..7c061bf315 100644 +--- a/block/qcow2.c ++++ b/block/qcow2.c +@@ -1336,6 +1336,12 @@ static int coroutine_fn qcow2_do_open(BlockDriverState *bs, QDict *options, + ret = -ENOTSUP; + goto fail; + } ++ if (header.version < 3 && !bs->read_only && bdrv_uses_whitelist()) { ++ warn_report_once("qcow2 v2 images are deprecated and may not be " ++ "supported in future versions. Please consider " ++ "upgrading the image with 'qemu-img amend " ++ "-o compat=v3'."); ++ } + + s->qcow_version = header.version; + +diff --git a/tests/qemu-iotests/common.filter b/tests/qemu-iotests/common.filter +index 268b749e2f..1f243a8bc1 100644 +--- a/tests/qemu-iotests/common.filter ++++ b/tests/qemu-iotests/common.filter +@@ -82,6 +82,7 @@ _filter_qemu() + { + $SED -e "s#\\(^\\|(qemu) \\)$(basename $QEMU_PROG):#\1QEMU_PROG:#" \ + -e 's#^QEMU [0-9]\+\.[0-9]\+\.[0-9]\+ monitor#QEMU X.Y.Z monitor#' \ ++ -e "/qcow2 v2 images are deprecated/d" \ + -e $'s#\r##' # QEMU monitor uses \r\n line endings + } + +-- +2.27.0 + diff --git a/kvm-redhat-Enable-the-test-block-iothread-test-again.patch b/kvm-redhat-Enable-the-test-block-iothread-test-again.patch new file mode 100644 index 0000000..28dce0f --- /dev/null +++ b/kvm-redhat-Enable-the-test-block-iothread-test-again.patch @@ -0,0 +1,43 @@ +From 4231cac75289acd643c2daaa2dece485b958bef1 Mon Sep 17 00:00:00 2001 +From: Thomas Huth +Date: Fri, 20 Aug 2021 10:27:12 +0200 +Subject: [PATCH 4/4] redhat: Enable the 'test-block-iothread' test again +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +RH-Author: Thomas Huth +RH-MergeRequest: 36: Disable LTO on non-x86 architectures +RH-Commit: [2/2] e010396f3ee0f3f39ff8bcd4749f8ae2e8624980 (thuth/qemu-kvm-cs9) +RH-Bugzilla: 1950192 +RH-Acked-by: Andrew Jones +RH-Acked-by: Miroslav Rezanina +RH-Acked-by: Cornelia Huck +RH-Acked-by: Philippe Mathieu-Daudé + +Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1950192 + +Now that we disabled LTO to fix the coroutines/iothreads on s390x and +aarch64, we can also enable the 'test-block-iothread' test again. + +Signed-off-by: Thomas Huth +--- + tests/unit/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/unit/meson.build b/tests/unit/meson.build +index 244d35f5d4..b3bc2109da 100644 +--- a/tests/unit/meson.build ++++ b/tests/unit/meson.build +@@ -65,7 +65,7 @@ if have_block + 'test-blockjob': [testblock], + 'test-blockjob-txn': [testblock], + 'test-block-backend': [testblock], +-# 'test-block-iothread': [testblock], ++ 'test-block-iothread': [testblock], + 'test-write-threshold': [testblock], + 'test-crypto-hash': [crypto], + 'test-crypto-hmac': [crypto], +-- +2.27.0 + diff --git a/qemu-kvm.spec b/qemu-kvm.spec index b92bd72..d33f3c0 100644 --- a/qemu-kvm.spec +++ b/qemu-kvm.spec @@ -5,6 +5,12 @@ %global usbredir_version 0.7.1 %global ipxe_version 20200823-5.git4bd064de +# LTO does not work with the coroutines of QEMU on non-x86 architectures +# (see BZ 1952483 and 1950192 for more information) +%ifnarch x86_64 + %global _lto_cflags %%{nil} +%endif + %global have_usbredir 1 %global have_opengl 1 %global have_fdt 0 @@ -125,7 +131,7 @@ Obsoletes: %{name}-block-iscsi <= %{version} \ Summary: QEMU is a machine emulator and virtualizer Name: qemu-kvm Version: 6.0.0 -Release: 12%{?rcrel}%{?dist}%{?cc_suffix} +Release: 13%{?rcrel}%{?dist}%{?cc_suffix} # Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped # Epoch 15 used for RHEL 8 # Epoch 17 used for RHEL 9 (due to release versioning offset in RHEL 8.5) @@ -375,6 +381,12 @@ Patch114: kvm-pc-bios-s390-ccw-Fix-inline-assembly-for-older-versi.patch # For bz#1939509 - QEMU: enable SafeStack # For bz#1940132 - QEMU: switch build toolchain to Clang/LLVM Patch115: kvm-configure-Fix-endianess-test-with-LTO.patch +# For bz#1951814 - RFE: Warning when using qcow2-v2 (compat=0.10) +Patch116: kvm-qcow2-Deprecation-warning-when-opening-v2-images-rw.patch +# For bz#1995819 - RFE: Remove ac97 audio support from QEMU +Patch117: kvm-disable-ac97-audio.patch +# For bz#1950192 - RHEL9: when ioeventfd=off and 8.4guest, (qemu) qemu-kvm: ../util/qemu-coroutine-lock.c:57: qemu_co_queue_wait_impl: Assertion `qemu_in_coroutine()' failed. +Patch118: kvm-redhat-Enable-the-test-block-iothread-test-again.patch # Source-git patches @@ -1348,6 +1360,18 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %endif %changelog +* Fri Aug 27 2021 Miroslav Rezanina - 6.0.0-13 +- kvm-qcow2-Deprecation-warning-when-opening-v2-images-rw.patch [bz#1951814] +- kvm-disable-ac97-audio.patch [bz#1995819] +- kvm-redhat-Disable-LTO-on-non-x86-architectures.patch [bz#1950192] +- kvm-redhat-Enable-the-test-block-iothread-test-again.patch [bz#1950192] +- Resolves: bz#1951814 + (RFE: Warning when using qcow2-v2 (compat=0.10)) +- Resolves: bz#1995819 + (RFE: Remove ac97 audio support from QEMU) +- Resolves: bz#1950192 + (RHEL9: when ioeventfd=off and 8.4guest, (qemu) qemu-kvm: ../util/qemu-coroutine-lock.c:57: qemu_co_queue_wait_impl: Assertion `qemu_in_coroutine()' failed.) + * Fri Aug 20 2021 Miroslav Rezanina - 6.0.0-12.el9 - kvm-migration-Move-yank-outside-qemu_start_incoming_migr.patch [bz#1974683] - kvm-migration-Allow-reset-of-postcopy_recover_triggered-.patch [bz#1974683]