--- 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