mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-08-27 11:01:19 +00:00
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@redhat.com> |
||
---|---|---|
.. | ||
virt-apparmor.m4 | ||
virt-attr.m4 | ||
virt-audit.m4 | ||
virt-avahi.m4 | ||
virt-blkid.m4 | ||
virt-capng.m4 | ||
virt-compile-pie.m4 | ||
virt-compile-warnings.m4 | ||
virt-curl.m4 | ||
virt-dbus.m4 | ||
virt-fuse.m4 | ||
virt-gluster.m4 | ||
virt-hal.m4 | ||
virt-lib.m4 | ||
virt-linker-no-indirect.m4 | ||
virt-linker-relro.m4 | ||
virt-netcf.m4 | ||
virt-numactl.m4 | ||
virt-openwsman.m4 | ||
virt-pciaccess.m4 | ||
virt-pkgconfig-back-compat.m4 | ||
virt-readline.m4 | ||
virt-result.m4 | ||
virt-sanlock.m4 | ||
virt-sasl.m4 | ||
virt-selinux.m4 | ||
virt-ssh2.m4 | ||
virt-udev.m4 | ||
virt-yajl.m4 |