]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: Introduce virDomainControllerDefPostParse()
authorAndrea Bolognani <abologna@redhat.com>
Fri, 15 Feb 2019 11:22:24 +0000 (12:22 +0100)
committerAndrea Bolognani <abologna@redhat.com>
Fri, 15 Feb 2019 13:58:40 +0000 (14:58 +0100)
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/conf/domain_conf.c

index a5ed9ddf3a1e94cbd1b9fc5e7f8da850101fb6c6..d79a961f29893e13b0e5e7fe721c7b0055b17164 100644 (file)
@@ -4917,6 +4917,22 @@ virDomainVideoDefPostParse(virDomainVideoDefPtr video,
 }
 
 
+static int
+virDomainControllerDefPostParse(virDomainControllerDefPtr cdev)
+{
+    if (cdev->iothread &&
+        cdev->model != VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI) {
+        virReportError(VIR_ERR_XML_ERROR,
+                       _("'iothread' attribute only supported for "
+                         "controller model '%s'"),
+                       virDomainControllerModelSCSITypeToString(VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI));
+        return -1;
+    }
+
+    return 0;
+}
+
+
 static int
 virDomainVsockDefPostParse(virDomainVsockDefPtr vsock)
 {
@@ -4954,18 +4970,8 @@ virDomainDeviceDefPostParseCommon(virDomainDeviceDefPtr dev,
         virDomainHostdevDefPostParse(dev->data.hostdev, def, xmlopt) < 0)
         return -1;
 
-    if (dev->type == VIR_DOMAIN_DEVICE_CONTROLLER) {
-        virDomainControllerDefPtr cdev = dev->data.controller;
-
-        if (cdev->iothread &&
-            cdev->model != VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI) {
-            virReportError(VIR_ERR_XML_ERROR,
-                           _("'iothread' attribute only supported for "
-                             "controller model '%s'"),
-                           virDomainControllerModelSCSITypeToString(VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI));
-            return -1;
-        }
-    }
+    if (dev->type == VIR_DOMAIN_DEVICE_CONTROLLER)
+        return virDomainControllerDefPostParse(dev->data.controller);
 
     if (dev->type == VIR_DOMAIN_DEVICE_NET) {
         virDomainNetDefPtr net = dev->data.net;