storage: add support for Vendor and Model in XML

I wrote a patch to add support for listing the Vendor and Model of a
storage pool in the storage pool XML.  This would allow vendor
extensions of specific devices.  The patch includes a test for the new
attributes as well.

Patrick Dignan
This commit is contained in:
Patrick Dignan
2010-08-17 12:44:27 -05:00
committed by Eric Blake
parent 3223871e2e
commit 20be699ee3
8 changed files with 124 additions and 0 deletions

View File

@@ -70,6 +70,8 @@
<source>
<host name="iscsi.example.com"/>
<device path="demo-target"/>
<vendor name="Acme"/>
<product name="model"/&t;
</source>
...</pre>
@@ -108,6 +110,16 @@
type, or network filesystem type, or partition table type, or
LVM metadata type. All drivers are required to have a default
value for this, so it is optional. <span class="since">Since 0.4.1</span></dd>
<dt><code>vendor</code></dt>
<dd>Provides optional information about the vendor of the
storage device. This contains a single
attribute <code>name</code> whose value is backend
specific. <span class="since">Since 0.8.4</span></dd>
<dt><code>product</code></dt>
<dd>Provides an optional product name of the storage device.
This contains a single attribute <code>name</code> whose value
is backend specific. <span class="since">Since 0.8.4</span></dd>
</dl>
<h3><a name="StoragePoolTarget">Target elements</a></h3>

View File

@@ -103,6 +103,23 @@
<ref name='target'/>
</define>
<define name='sourceinfovendor'>
<optional>
<element name='vendor'>
<attribute name='name'>
<text/>
</attribute>
</element>
</optional>
<optional>
<element name='product'>
<attribute name='name'>
<text/>
</attribute>
</element>
</optional>
</define>
<define name='commonmetadata'>
<element name='name'>
<ref name='name'/>
@@ -286,6 +303,9 @@
<value>nfs</value>
</choice>
</attribute>
<optional>
<ref name='sourceinfovendor'/>
</optional>
</element>
</optional>
</define>
@@ -307,6 +327,9 @@
<value>lvm2</value>
</choice>
</attribute>
<optional>
<ref name='sourceinfovendor'/>
</optional>
</element>
</optional>
</define>
@@ -321,6 +344,9 @@
<value>lvm2</value>
</choice>
</attribute>
<optional>
<ref name='sourceinfovendor'/>
</optional>
</element>
</optional>
</define>
@@ -330,13 +356,20 @@
<optional>
<element name='source'>
<empty/>
<optional>
<ref name='sourceinfovendor'/>
</optional>
</element>
</optional>
</define>
<define name='sourcefs'>
<element name='source'>
<ref name='sourceinfodev'/>
<ref name='sourcefmtfs'/>
<optional>
<ref name='sourceinfovendor'/>
</optional>
</element>
</define>
@@ -345,6 +378,9 @@
<ref name='sourceinfohost'/>
<ref name='sourceinfodir'/>
<ref name='sourcefmtnetfs'/>
<optional>
<ref name='sourceinfovendor'/>
</optional>
</element>
</define>
@@ -359,6 +395,9 @@
</optional>
</oneOrMore>
<ref name='sourcefmtlogical'/>
<optional>
<ref name='sourceinfovendor'/>
</optional>
</element>
</define>
@@ -366,6 +405,9 @@
<element name='source'>
<ref name='sourceinfodev'/>
<ref name='sourcefmtdisk'/>
<optional>
<ref name='sourceinfovendor'/>
</optional>
</element>
</define>
@@ -379,12 +421,19 @@
<optional>
<ref name='sourceinfoauth'/>
</optional>
<optional>
<ref name='sourceinfovendor'/>
</optional>
</element>
</define>
<define name='sourcescsi'>
<element name='source'>
<ref name='sourceinfoadapter'/>
<optional>
<ref name='sourceinfovendor'/>
</optional>
</element>
</define>