On 06/22/2015 05:05 PM, John Ferlan wrote:
If a SCSI subsystem <hostdev> element is provided with an <address>,
then enforce that the address type is 'drive'.  If not provided,
a 'drive' element was created by virDomainHostdevAssignAddress
which uses VIR_DOMAIN_DEVICE_ADDRESS_TYPE_DRIVE.

Signed-off-by: John Ferlan <jfer...@redhat.com>
---
  docs/formatdomain.html.in | 4 ++--
  src/conf/domain_conf.c    | 6 ++++++
  2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
index 95d8c45..0475527 100644
--- a/docs/formatdomain.html.in
+++ b/docs/formatdomain.html.in
@@ -3343,8 +3343,8 @@
        (starting with 0x) or octal (starting with 0) form.
        For PCI devices the element carries 4 attributes allowing to designate
        the device as can be found with the <code>lspci</code> or
-      with <code>virsh
-      nodedev-list</code>. <a href="#elementsAddress">See above</a> for
+      with <code>virsh nodedev-list</code>. For SCSI devices a 'drive'
+      address type is used. <a href="#elementsAddress">See above</a> for

s/is/must be/   ?

        more details on the address element.</dd>
        <dt><code>driver</code></dt>
        <dd>
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index e592adf..ce5093d 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -11752,6 +11752,12 @@ virDomainHostdevDefParseXML(virDomainXMLOptionPtr 
xmlopt,
                  virReportError(VIR_ERR_XML_ERROR, "%s",
                                 _("SCSI host devices must have address 
specified"));
                  goto error;
+            } else if (def->info->type !=
+                       VIR_DOMAIN_DEVICE_ADDRESS_TYPE_DRIVE) {
+                virReportError(VIR_ERR_XML_ERROR, "%s",
+                               _("SCSI host device must use 'drive' "
+                                 "address type"));
+                goto error;
              }

              if (virXPathBoolean("boolean(./readonly)", ctxt))

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to