[libvirt] [PATCHv4 1/8] storage: initial support for linking with libgfapi

Daniel P. Berrange berrange at redhat.com
Mon Nov 25 15:39:55 UTC 2013


On Fri, Nov 22, 2013 at 08:20:23PM -0700, Eric Blake wrote:
> We support gluster volumes in domain XML, so we also ought to
> support them as a storage pool.  Besides, a future patch will
> want to take advantage of libgfapi to handle the case of a
> gluster device holding qcow2 rather than raw storage, and for
> that to work, we need a storage backend that can read gluster
> storage volume contents.  This sets up the framework.
> 
> Note that the new pool is named 'gluster' to match a
> <disk type='network'><source protocol='gluster'> image source
> already supported in a <domain>; it does NOT match the
> <pool type='netfs'><source><target type='glusterfs'>,
> since that uses a FUSE mount to a local file name rather than
> a network name.
> 
> This and subsequent patches have been tested against glusterfs
> 3.4.1 (available on Fedora 19); there are likely bugs in older
> versions that may prevent decent use of gfapi, so this patch
> enforces the minimum version tested.  A future patch may lower
> the minimum.  On the other hand, I hit at least two bugs in
> 3.4.1 that will be fixed in 3.5/3.4.2, where it might be worth
> raising the minimum: glfs_readdir is nicer to use than
> glfs_readdir_r [1], and glfs_fini should only return failure on
> an actual failure [2].
> 
> [1] http://lists.gnu.org/archive/html/gluster-devel/2013-10/msg00085.html
> [2] http://lists.gnu.org/archive/html/gluster-devel/2013-10/msg00086.html
> 
> * configure.ac (WITH_STORAGE_GLUSTER): New conditional.
> * m4/virt-gluster.m4: new file.
> * libvirt.spec.in (BuildRequires): Support gluster in spec file.
> * src/conf/storage_conf.h (VIR_STORAGE_POOL_GLUSTER): New pool
> type.
> * src/conf/storage_conf.c (poolTypeInfo): Treat similar to
> sheepdog and rbd.
> (virStoragePoolDefFormat): Don't output target for gluster.
> * src/storage/storage_backend_gluster.h: New file.
> * src/storage/storage_backend_gluster.c: Likewise.
> * po/POTFILES.in: Add new file.
> * src/storage/storage_backend.c (backends): Register new type.
> * src/Makefile.am (STORAGE_DRIVER_GLUSTER_SOURCES): Build new files.
> * src/storage/storage_backend.h (_virStorageBackend): Documet
> assumption.
> 
> Signed-off-by: Eric Blake <eblake at redhat.com>
> ---
>  configure.ac                          | 21 ++++++++++++++++
>  libvirt.spec.in                       | 15 ++++++++++++
>  m4/virt-gluster.m4                    | 28 +++++++++++++++++++++
>  po/POTFILES.in                        |  1 +
>  src/Makefile.am                       | 10 ++++++++
>  src/conf/storage_conf.c               | 26 +++++++++++++++++---
>  src/conf/storage_conf.h               |  3 ++-
>  src/storage/storage_backend.c         |  6 +++++
>  src/storage/storage_backend.h         |  6 +++--
>  src/storage/storage_backend_gluster.c | 46 +++++++++++++++++++++++++++++++++++
>  src/storage/storage_backend_gluster.h | 29 ++++++++++++++++++++++
>  11 files changed, 184 insertions(+), 7 deletions(-)
>  create mode 100644 m4/virt-gluster.m4
>  create mode 100644 src/storage/storage_backend_gluster.c
>  create mode 100644 src/storage/storage_backend_gluster.h

ACK


Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list