[libvirt] [PATCH 08/11] storage: Turn storage backends into dynamic modules

Peter Krempa pkrempa at redhat.com
Fri Feb 10 13:40:29 UTC 2017


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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20170210/f1d54d4b/attachment-0001.sig>


More information about the libvir-list mailing list