Enable ZFS storage driver with CentOS v7 libvirt v2.0.0 storage driver
ZFS support is already supported in libvirt. This change simply enables it for the CentOS binary RPM.
Steps:
- Install ZFS on Linux repository
- Make a few small changes to the RPM SPEC file
- Build the updated binary
Build
$ rpm -Uvh http://buildlogs.centos.org/c7.1611.01/libvirt/20161112020435/2.0.0-10.el7.x86_64/libvirt-2.0.0-10.el7.src.rpm $ cd rpmbuild/SPECS/ $ rpmbuild -ba libvirt.spec
Links
Appendices
libvirt.spec changes
$ diff -u libvirt.spec~ libvirt.spec
--- libvirt.spec~ 2016-12-18 09:47:49.805082595 +1300
+++ libvirt.spec 2016-12-18 10:37:10.941082595 +1300
@@ -69,6 +69,7 @@
%define with_storage_sheepdog 0
%endif
%define with_storage_gluster 0%{!?_without_storage_gluster:1}
+%define with_storage_zfs 0%{!?_without_storage_zfs:1}
%define with_numactl 0%{!?_without_numactl:1}
# A few optional bits off by default, we enable later
@@ -217,7 +218,7 @@
Summary: Library providing a simple virtualization API
Name: libvirt
Version: 2.0.0
-Release: 10%{?dist}%{?extra_release}
+Release: 10zfs%{?dist}%{?extra_release}
License: LGPLv2+
Group: Development/Libraries
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
@@ -593,6 +594,9 @@
BuildRequires: glusterfs-api-devel >= 3.4.1
BuildRequires: glusterfs-devel >= 3.4.1
%endif
+%if %{with_storage_zfs}
+BuildRequires: zfs >= 0.6.5.8
+%endif
%if %{with_storage_sheepdog}
BuildRequires: sheepdog
%endif
@@ -825,6 +829,10 @@
# For Sheepdog support
Requires: sheepdog
%endif
+%if %{with_storage_zfs}
+# For ZFS support
+Requires: zfs
+%endif
%if %{with_qemu}
# From QEMU RPMs
Requires: /usr/bin/qemu-img
@@ -1284,6 +1292,12 @@
%define arg_storage_gluster --without-storage-gluster
%endif
+%if %{with_storage_zfs}
+ %define arg_storage_zfs --with-storage-zfs
+%else
+ %define arg_storage_zfs --without-storage-zfs
+%endif
+
%if %{with_numactl}
%define arg_numactl --with-numactl
%else
@@ -1391,6 +1405,7 @@
%{?arg_storage_rbd} \
%{?arg_storage_sheepdog} \
%{?arg_storage_gluster} \
+ %{?arg_storage_zfs} \
%{?arg_numactl} \
%{?arg_numad} \
--with-capng \
@@ -2104,6 +2119,9 @@
%changelog
+* Sun Dec 18 2016 Greg Brackley <greg-libvirt-zfs@lucidsolutions.co.nz> - 2.0.0-10
+- enable ZFS support
+
* Wed Sep 21 2016 Jiri Denemark <jdenemar@redhat.com> - 2.0.0-10
- virtlogd: Don't stop or restart along with libvirtd (rhbz#1372576)

