From 887dd3625b71e6d71aa362a46cf6075b13cb1bb5 Mon Sep 17 00:00:00 2001
From: Eric Blake
Date: Tue, 12 Nov 2013 16:35:36 -0700
Subject: [PATCH] storage: fix RNG validation of gluster via netfs
While trying to compare netfs against my new gluster pool, I
discovered two things:
virt-xml-validate chokes on valid xml produced by 'virsh pool-dumpxml'
[yet another reason that ALL patches that add new xml should be adding
corresponding tests]
When using glusterfs FUSE mounts, you cannot access a subdirectory
of a gluster volume. The recommended workaround in the gluster
community is to mount the volume to an intermediate location, then
bind-mount the desired subdirectory to the final location. Maybe
we should teach libvirt to do bind-mounting, but for now I chose to
just document the limitation.
* docs/storage.html.in: Improve documentation.
* docs/schemas/storagepool.rng (sourcefmtnetfs): Allow all
formats, and drop redundant info-vendor.
* tests/storagepoolxml2xmltest.c (mymain): New test.
* tests/storagepoolxml2xmlin/pool-netfs-gluster.xml: New file.
* tests/storagepoolxml2xmlout/pool-netfs-gluster.xml: Likewise.
Signed-off-by: Eric Blake
---
docs/schemas/storagepool.rng | 5 ++---
docs/storage.html.in | 11 +++++++---
.../pool-netfs-gluster.xml | 12 +++++++++++
.../pool-netfs-gluster.xml | 20 +++++++++++++++++++
tests/storagepoolxml2xmltest.c | 1 +
5 files changed, 43 insertions(+), 6 deletions(-)
create mode 100644 tests/storagepoolxml2xmlin/pool-netfs-gluster.xml
create mode 100644 tests/storagepoolxml2xmlout/pool-netfs-gluster.xml
diff --git a/docs/schemas/storagepool.rng b/docs/schemas/storagepool.rng
index 66d3c22169..61fa7a3eb3 100644
--- a/docs/schemas/storagepool.rng
+++ b/docs/schemas/storagepool.rng
@@ -381,11 +381,10 @@
autonfs
+ cifs
+ glusterfs
-
-
-
diff --git a/docs/storage.html.in b/docs/storage.html.in
index 118144477c..0464565adb 100644
--- a/docs/storage.html.in
+++ b/docs/storage.html.in
@@ -249,7 +249,8 @@
a local block device as the source, it requires the name of a
host and path of an exported directory. It will mount this network
filesystem and manage files within the directory of its mount
- point. It will default to using NFS as the protocol.
+ point. It will default to using auto as the
+ protocol, which generally tries a mount via NFS first.
- glusterfs
+ glusterfs - use the glusterfs FUSE file system.
+ For now, the dir specified as the source can only
+ be a gluster volume name, as gluster does not provide a way to
+ directly mount subdirectories within a volume.
- cifs
+ cifs - use the SMB (samba) or CIFS file system