]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virDomainControllerDefFormat: do not mix attributes and subelements
authorJán Tomko <jtomko@redhat.com>
Tue, 6 Jun 2017 11:12:05 +0000 (13:12 +0200)
committerJán Tomko <jtomko@redhat.com>
Wed, 7 Jun 2017 16:10:51 +0000 (18:10 +0200)
Move out the PCI controller's subelements formatting out of the switch
handling attributes. This removes the need for a few bool variables.

src/conf/domain_conf.c

index 1ab63607f584484a1b7cff69bbb2a4f1cb398dbf..d4ee92eec5c9faa82e9fd03576b092db9e38f40a 100644 (file)
@@ -21415,7 +21415,6 @@ virDomainControllerDefFormat(virBufferPtr buf,
     const char *type = virDomainControllerTypeToString(def->type);
     const char *model = NULL;
     const char *modelName = NULL;
-    bool pcihole64 = false, pciModel = false, pciTarget = false;
     virBuffer childBuf = VIR_BUFFER_INITIALIZER;
 
     virBufferAdjustIndent(&childBuf, virBufferGetIndent(buf, false) + 2);
@@ -21462,25 +21461,12 @@ virDomainControllerDefFormat(virBufferPtr buf,
         }
         break;
 
-    case VIR_DOMAIN_CONTROLLER_TYPE_PCI:
-        if (def->opts.pciopts.pcihole64)
-            pcihole64 = true;
-        if (def->opts.pciopts.modelName != VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_NONE)
-            pciModel = true;
-        if (def->opts.pciopts.chassisNr != -1 ||
-            def->opts.pciopts.chassis != -1 ||
-            def->opts.pciopts.port != -1 ||
-            def->opts.pciopts.busNr != -1 ||
-            def->opts.pciopts.numaNode != -1)
-            pciTarget = true;
-        break;
-
     default:
         break;
     }
 
-    if (pciModel || pciTarget) {
-        if (pciModel) {
+    if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI) {
+        if (def->opts.pciopts.modelName != VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_NONE) {
             modelName = virDomainControllerPCIModelNameTypeToString(def->opts.pciopts.modelName);
             if (!modelName) {
                 virReportError(VIR_ERR_INTERNAL_ERROR,
@@ -21491,7 +21477,11 @@ virDomainControllerDefFormat(virBufferPtr buf,
             virBufferAsprintf(&childBuf, "<model name='%s'/>\n", modelName);
         }
 
-        if (pciTarget) {
+        if (def->opts.pciopts.chassisNr != -1 ||
+            def->opts.pciopts.chassis != -1 ||
+            def->opts.pciopts.port != -1 ||
+            def->opts.pciopts.busNr != -1 ||
+            def->opts.pciopts.numaNode != -1) {
             virBufferAddLit(&childBuf, "<target");
             if (def->opts.pciopts.chassisNr != -1)
                 virBufferAsprintf(&childBuf, " chassisNr='%d'",
@@ -21524,7 +21514,8 @@ virDomainControllerDefFormat(virBufferPtr buf,
         virDomainDeviceInfoFormat(&childBuf, &def->info, flags) < 0)
         return -1;
 
-    if (pcihole64) {
+    if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI &&
+        def->opts.pciopts.pcihole64) {
         virBufferAsprintf(&childBuf, "<pcihole64 unit='KiB'>%lu</"
                           "pcihole64>\n", def->opts.pciopts.pcihole64size);
     }