diff --git a/rpm/qemu-kvm-4.2-el8.spec.patch b/rpm/qemu-kvm-4.2-el8.spec.patch new file mode 100644 index 00000000..f6692526 --- /dev/null +++ b/rpm/qemu-kvm-4.2-el8.spec.patch @@ -0,0 +1,112 @@ +--- qemu-kvm.spec.orig 2021-12-01 22:10:58.967935539 +0000 ++++ qemu-kvm.spec 2021-12-01 22:14:38.530117175 +0000 +@@ -57,6 +57,7 @@ Requires: %{name}-block-gluster = %{epoc + %endif \ + Requires: %{name}-block-iscsi = %{epoch}:%{version}-%{release} \ + Requires: %{name}-block-rbd = %{epoch}:%{version}-%{release} \ ++Requires: %{name}-block-vitastor = %{epoch}:%{version}-%{release}\ + Requires: %{name}-block-ssh = %{epoch}:%{version}-%{release} + + # Macro to properly setup RHEL/RHEV conflict handling +@@ -67,7 +68,7 @@ Obsoletes: %1-rhev + Summary: QEMU is a machine emulator and virtualizer + Name: qemu-kvm + Version: 4.2.0 +-Release: 29%{?dist}.6 ++Release: 32.vitastor%{?dist}.6 + # Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped + Epoch: 15 + License: GPLv2 and GPLv2+ and CC-BY +@@ -102,6 +103,7 @@ Source33: qemu-pr-helper.socket + Source34: 81-kvm-rhel.rules + Source35: udev-kvm-check.c + Source36: README.tests ++Source37: qemu-vitastor.c + + + Patch0005: 0005-Initial-redhat-build.patch +@@ -825,6 +827,7 @@ Patch331: kvm-Drop-bogus-IPv6-messages.p + Patch333: kvm-virtiofsd-Whitelist-fchmod.patch + # For bz#1883869 - virtiofsd core dump in KATA Container [rhel-8.2.1.z] + Patch334: kvm-virtiofsd-avoid-proc-self-fd-tempdir.patch ++Patch335: qemu-4.2-vitastor.patch + + BuildRequires: wget + BuildRequires: rpm-build +@@ -861,6 +864,7 @@ BuildRequires: libcurl-devel + BuildRequires: libssh-devel + BuildRequires: librados-devel + BuildRequires: librbd-devel ++BuildRequires: vitastor-client-devel + %if %{have_gluster} + # For gluster block driver + BuildRequires: glusterfs-api-devel +@@ -1095,6 +1099,14 @@ Install this package if you want to acce + using the rbd protocol. + + ++%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 block-ssh + Summary: QEMU SSH block driver + Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +@@ -1109,6 +1121,7 @@ the Secure Shell (SSH) protocol. + %prep + %setup -n qemu-%{version} + %autopatch -p1 ++cp %{SOURCE37} ./block/vitastor.c + + %build + %global buildarch %{kvm_target}-softmmu +@@ -1116,7 +1129,7 @@ the Secure Shell (SSH) protocol. + # --build-id option is used for giving info to the debug packages. + buildldflags="VL_LDFLAGS=-Wl,--build-id" + +-%global block_drivers_list qcow2,raw,file,host_device,nbd,iscsi,rbd,blkdebug,luks,null-co,nvme,copy-on-read,throttle ++%global block_drivers_list qcow2,raw,file,host_device,nbd,iscsi,rbd,vitastor,blkdebug,luks,null-co,nvme,copy-on-read,throttle + + %if 0%{have_gluster} + %global block_drivers_list %{block_drivers_list},gluster +@@ -1131,7 +1144,7 @@ buildldflags="VL_LDFLAGS=-Wl,--build-id" + --docdir="%{qemudocdir}" \ + --libexecdir="%{_libexecdir}" \ + --extra-ldflags="-Wl,--build-id -Wl,-z,relro -Wl,-z,now" \ +- --extra-cflags="%{optflags}" \ ++ --extra-cflags="%{optflags} -DRHEL_BDRV_CO_TRUNCATE_FLAGS" \ + --with-pkgversion="%{name}-%{version}-%{release}" \ + --with-confsuffix=/"%{name}" \ + --firmwarepath=%{_prefix}/share/qemu-firmware \ +@@ -1152,6 +1165,7 @@ buildldflags="VL_LDFLAGS=-Wl,--build-id" + --disable-numa \ + %endif + --enable-rbd \ ++ --enable-vitastor \ + %if 0%{have_librdma} + --enable-rdma \ + %else +@@ -1192,9 +1206,7 @@ buildldflags="VL_LDFLAGS=-Wl,--build-id" + %endif + --python=%{__python3} \ + --target-list="%{buildarch}" \ +- --block-drv-rw-whitelist=%{block_drivers_list} \ + --audio-drv-list= \ +- --block-drv-ro-whitelist=vmdk,vhdx,vpc,https,ssh \ + --with-coroutine=ucontext \ + --tls-priority=NORMAL \ + --disable-bluez \ +@@ -1750,6 +1762,9 @@ useradd -r -u 107 -g qemu -G kvm -d / -s + %files block-rbd + %{_libdir}/qemu-kvm/block-rbd.so + ++%files block-vitastor ++%{_libdir}/qemu-kvm/block-vitastor.so ++ + %files block-ssh + %{_libdir}/qemu-kvm/block-ssh.so + diff --git a/rpm/qemu-kvm.spec.patch b/rpm/qemu-kvm.spec.patch deleted file mode 100644 index 667af78e..00000000 --- a/rpm/qemu-kvm.spec.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- qemu-kvm.spec 2020-12-05 13:13:54.388623517 +0000 -+++ qemu-kvm.spec 2020-12-05 13:13:58.728696598 +0000 -@@ -67,7 +67,7 @@ Obsoletes: %1-rhev - Summary: QEMU is a machine emulator and virtualizer - Name: qemu-kvm - Version: 4.2.0 --Release: 29%{?dist}.6 -+Release: 29.vitastor%{?dist}.6 - # Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped - Epoch: 15 - License: GPLv2 and GPLv2+ and CC-BY -@@ -825,6 +825,7 @@ Patch331: kvm-Drop-bogus-IPv6-messages.p - Patch333: kvm-virtiofsd-Whitelist-fchmod.patch - # For bz#1883869 - virtiofsd core dump in KATA Container [rhel-8.2.1.z] - Patch334: kvm-virtiofsd-avoid-proc-self-fd-tempdir.patch -+Patch335: qemu-4.2-vitastor.patch - - BuildRequires: wget - BuildRequires: rpm-build -@@ -1192,9 +1193,7 @@ buildldflags="VL_LDFLAGS=-Wl,--build-id" - %endif - --python=%{__python3} \ - --target-list="%{buildarch}" \ -- --block-drv-rw-whitelist=%{block_drivers_list} \ - --audio-drv-list= \ -- --block-drv-ro-whitelist=vmdk,vhdx,vpc,https,ssh \ - --with-coroutine=ucontext \ - --tls-priority=NORMAL \ - --disable-bluez \