On Fri, Feb 10, 2017 at 08:34:11 -0500, John Ferlan wrote:
On 02/08/2017 11:27 AM, Peter Krempa wrote:
> If driver modules are enabled turn storage driver backends into
> dynamically loadable objects. This will allow greater modularity for
> binary distributions, where heavyweight dependencies as rbd and gluster
> can be avoided by selecting only a subset of drivers if the rest is not
> necessary.
>
> The storage modules are installed into 'LIBDIR/libvirt/storage-backend/'
> and users can't override the location by using
> 'LIBVIRT_STORAGE_BACKEND_DIR' environment variable.
can or can't?
oops
>
> rpm based distros will at this point install all the backends when
> libvirt-daemon-driver-storage package is installed.
> ---
> libvirt.spec.in | 17 +++++++++
> src/Makefile.am | 85 ++++++++++++++++++++++++++++++++++++++++++-
> src/storage/storage_backend.c | 60 +++++++++++++++++++++++-------
> tests/Makefile.am | 4 +-
> 4 files changed, 151 insertions(+), 15 deletions(-)
>
> diff --git a/libvirt.spec.in b/libvirt.spec.in
> index e8c272bd7..3098ed2dd 100644
> --- a/libvirt.spec.in
> +++ b/libvirt.spec.in
> @@ -1234,6 +1234,8 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.la
> rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.a
> rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.la
> rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.a
> +rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/storage-backend/*.la
> +rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/storage-backend/*.a
> %if %{with_wireshark}
> %if 0%{fedora} >= 24
> rm -f $RPM_BUILD_ROOT%{_libdir}/wireshark/plugins/libvirt.la
> @@ -1689,6 +1691,21 @@ exit 0
> %files daemon-driver-storage
> %attr(0755, root, root) %{_libexecdir}/libvirt_parthelper
> %{_libdir}/%{name}/connection-driver/libvirt_driver_storage.so
> +%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_fs.so
> +%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_disk.so
> +%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_logical.so
> +%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_scsi.so
> +%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_iscsi.so
> +%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_mpath.so
> +%if %{with_storage_gluster}
> +%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_gluster.so
> +%endif
> +%if %{with_storage_rbd}
> +%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_rbd.so
> +%endif
> +%if %{with_storage_sheepdog}
> +%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_sheepdog.so
> +%endif
>
What about zfs and vstorage?
Neither of those is built by the spec file. Since the spec file does not
specify any build requirements that are necessary for the ZFS or
vstorage driver rpmbuild does not install them and thus such drivers are
never going to be built unless somebody adds them to the spec file.