diff --git a/rpm/qemu-kvm-7.0-el9.spec.patch b/rpm/qemu-kvm-7.0-el9.spec.patch new file mode 100644 index 00000000..5b35ab52 --- /dev/null +++ b/rpm/qemu-kvm-7.0-el9.spec.patch @@ -0,0 +1,93 @@ +--- qemu-kvm.spec.orig 2023-02-28 08:04:06.000000000 +0000 ++++ qemu-kvm.spec 2023-04-27 22:29:18.094878829 +0000 +@@ -100,8 +100,6 @@ + %endif + + %global target_list %{kvm_target}-softmmu +-%global block_drivers_rw_list qcow2,raw,file,host_device,nbd,iscsi,rbd,blkdebug,luks,null-co,nvme,copy-on-read,throttle,compress +-%global block_drivers_ro_list vdi,vmdk,vhdx,vpc,https + %define qemudocdir %{_docdir}/%{name} + %global firmwaredirs "%{_datadir}/qemu-firmware:%{_datadir}/ipxe/qemu:%{_datadir}/seavgabios:%{_datadir}/seabios" + +@@ -129,6 +127,7 @@ Requires: %{name}-device-usb-host = %{ep + Requires: %{name}-device-usb-redirect = %{epoch}:%{version}-%{release} \ + %endif \ + Requires: %{name}-block-rbd = %{epoch}:%{version}-%{release} \ ++Requires: %{name}-block-vitastor = %{epoch}:%{version}-%{release}\ + Requires: %{name}-audio-pa = %{epoch}:%{version}-%{release} + + # Since SPICE is removed from RHEL-9, the following Obsoletes: +@@ -151,7 +150,7 @@ Obsoletes: %{name}-block-ssh <= %{epoch} + Summary: QEMU is a machine emulator and virtualizer + Name: qemu-kvm + Version: 7.0.0 +-Release: 13%{?rcrel}%{?dist}%{?cc_suffix}.2 ++Release: 13.vitastor%{?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) +@@ -174,6 +173,7 @@ Source28: 95-kvm-memlock.conf + Source30: kvm-s390x.conf + Source31: kvm-x86.conf + Source36: README.tests ++Source37: qemu-vitastor.c + + + Patch0004: 0004-Initial-redhat-build.patch +@@ -498,6 +498,7 @@ Patch171: kvm-i386-do-kvm_put_msr_featur + Patch172: kvm-target-i386-kvm-fix-kvmclock_current_nsec-Assertion-.patch + # For bz#2168221 - while live-migrating many instances concurrently, libvirt sometimes return internal error: migration was active, but no RAM info was set [rhel-9.1.0.z] + Patch173: kvm-migration-Read-state-once.patch ++Patch174: qemu-7.0-vitastor.patch + + # Source-git patches + +@@ -531,6 +532,7 @@ BuildRequires: libcurl-devel + %if %{have_block_rbd} + BuildRequires: librbd-devel + %endif ++BuildRequires: vitastor-client-devel + # We need both because the 'stap' binary is probed for by configure + BuildRequires: systemtap + BuildRequires: systemtap-sdt-devel +@@ -718,6 +720,14 @@ using the rbd protocol. + %endif + + ++%package block-vitastor ++Summary: QEMU Vitastor block driver ++Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} ++ ++%description block-vitastor ++This package provides the additional Vitastor block driver for QEMU. ++ ++ + %package audio-pa + Summary: QEMU PulseAudio audio driver + Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +@@ -811,6 +821,7 @@ This package provides usbredir support. + %prep + %setup -q -n qemu-%{version}%{?rcstr} + %autopatch -p1 ++cp %{SOURCE37} ./block/vitastor.c + + %global qemu_kvm_build qemu_kvm_build + mkdir -p %{qemu_kvm_build} +@@ -1032,6 +1043,7 @@ run_configure \ + %if %{have_block_rbd} + --enable-rbd \ + %endif ++ --enable-vitastor \ + %if %{have_librdma} + --enable-rdma \ + %endif +@@ -1511,6 +1523,9 @@ useradd -r -u 107 -g qemu -G kvm -d / -s + %files block-rbd + %{_libdir}/%{name}/block-rbd.so + %endif ++%files block-vitastor ++%{_libdir}/%{name}/block-vitastor.so ++ + %files audio-pa + %{_libdir}/%{name}/audio-pa.so +