schema: pool: netfs: Don't enforce slash in glusterfs pool source

Gluster volumes don't start with a leading slash. Our schema for netfs
gluster pools enforces it though. Luckily mount.glusterfs skips it.
Allow a slashless volume name for glusterfs netfs mounts in the schema.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1101999
This commit is contained in:
Peter Krempa 2014-05-28 15:47:38 +02:00
parent bbfc826787
commit b325be128a
3 changed files with 53 additions and 9 deletions

View File

@ -231,6 +231,12 @@
</data>
</define>
<define name="dirPath">
<data type="string">
<param name="pattern">[a-zA-Z0-9_\.\+\-\\&amp;&quot;&apos;&lt;&gt;/%]+</param>
</data>
</define>
<define name="absFilePath">
<data type="string">
<param name="pattern">/[a-zA-Z0-9_\.\+\-\\&amp;&quot;&apos;&lt;&gt;/%,]+</param>

View File

@ -327,6 +327,15 @@
</element>
</define>
<define name='sourceinfonetfsgluster'>
<element name='dir'>
<attribute name='path'>
<ref name='dirPath'/>
</attribute>
<empty/>
</element>
</define>
<define name='sourceinfoname'>
<element name='name'>
<text/>
@ -394,7 +403,6 @@
<value>auto</value>
<value>nfs</value>
<value>cifs</value>
<value>glusterfs</value>
</choice>
</attribute>
</element>
@ -468,14 +476,32 @@
<define name='sourcenetfs'>
<element name='source'>
<interleave>
<ref name='sourceinfohost'/>
<ref name='sourceinfodir'/>
<ref name='sourcefmtnetfs'/>
<optional>
<ref name='sourceinfovendor'/>
</optional>
</interleave>
<choice>
<group>
<interleave>
<ref name='sourceinfohost'/>
<ref name='sourceinfodir'/>
<ref name='sourcefmtnetfs'/>
<optional>
<ref name='sourceinfovendor'/>
</optional>
</interleave>
</group>
<group>
<interleave>
<ref name='sourceinfohost'/>
<ref name='sourceinfonetfsgluster'/>
<element name='format'>
<attribute name='type'>
<value>glusterfs</value>
</attribute>
</element>
<optional>
<ref name='sourceinfovendor'/>
</optional>
</interleave>
</group>
</choice>
</element>
</define>

View File

@ -0,0 +1,12 @@
<pool type='netfs'>
<source>
<host name='example.com'/>
<format type='glusterfs'/>
<dir path='volume'/>
</source>
<name>netfs-gluster</name>
<uuid>d5609ced-94b1-489e-b218-eff35c30336a</uuid>
<target>
<path>/mnt/gluster</path>
</target>
</pool>