]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
conf: Use virXMLFormatElement to format disk source network
authorJohn Ferlan <jferlan@redhat.com>
Wed, 13 Sep 2017 20:45:51 +0000 (16:45 -0400)
committerJohn Ferlan <jferlan@redhat.com>
Fri, 15 Sep 2017 12:17:32 +0000 (08:17 -0400)
Commit id 'e02ff020cac' neglected to use the attrBuf and childBuf
in the virDomainDiskSourceFormatNetwork call.

So make the necessary alterations to allow usage.

src/conf/domain_conf.c

index f1b2447def0c056a1689851d0da79b160c0c7635..cc5e79b70bc903d2b34ccdfd31630a50038b73dc 100644 (file)
@@ -21671,13 +21671,14 @@ virDomainSourceDefFormatSeclabel(virBufferPtr buf,
 
 
 static int
-virDomainDiskSourceFormatNetwork(virBufferPtr buf,
+virDomainDiskSourceFormatNetwork(virBufferPtr attrBuf,
+                                 virBufferPtr childBuf,
                                  virStorageSourcePtr src)
 {
     size_t n;
     char *path = NULL;
 
-    virBufferAsprintf(buf, "<source protocol='%s'",
+    virBufferAsprintf(attrBuf, " protocol='%s'",
                       virStorageNetProtocolTypeToString(src->protocol));
 
     if (src->volume) {
@@ -21685,38 +21686,28 @@ virDomainDiskSourceFormatNetwork(virBufferPtr buf,
             return -1;
     }
 
-    virBufferEscapeString(buf, " name='%s'", path ? path : src->path);
+    virBufferEscapeString(attrBuf, " name='%s'", path ? path : src->path);
 
     VIR_FREE(path);
 
-    if (src->nhosts == 0 && !src->snapshot && !src->configFile) {
-        virBufferAddLit(buf, "/>\n");
-    } else {
-        virBufferAddLit(buf, ">\n");
-        virBufferAdjustIndent(buf, 2);
+    for (n = 0; n < src->nhosts; n++) {
+        virBufferAddLit(childBuf, "<host");
+        virBufferEscapeString(childBuf, " name='%s'", src->hosts[n].name);
 
-        for (n = 0; n < src->nhosts; n++) {
-            virBufferAddLit(buf, "<host");
-            virBufferEscapeString(buf, " name='%s'", src->hosts[n].name);
-
-            if (src->hosts[n].port)
-                virBufferAsprintf(buf, " port='%u'", src->hosts[n].port);
+        if (src->hosts[n].port)
+            virBufferAsprintf(childBuf, " port='%u'", src->hosts[n].port);
 
-            if (src->hosts[n].transport)
-                virBufferAsprintf(buf, " transport='%s'",
-                                  virStorageNetHostTransportTypeToString(src->hosts[n].transport));
+        if (src->hosts[n].transport)
+            virBufferAsprintf(childBuf, " transport='%s'",
+                              virStorageNetHostTransportTypeToString(src->hosts[n].transport));
 
-            virBufferEscapeString(buf, " socket='%s'", src->hosts[n].socket);
-            virBufferAddLit(buf, "/>\n");
-        }
-
-        virBufferEscapeString(buf, "<snapshot name='%s'/>\n", src->snapshot);
-        virBufferEscapeString(buf, "<config file='%s'/>\n", src->configFile);
-
-        virBufferAdjustIndent(buf, -2);
-        virBufferAddLit(buf, "</source>\n");
+        virBufferEscapeString(childBuf, " socket='%s'", src->hosts[n].socket);
+        virBufferAddLit(childBuf, "/>\n");
     }
 
+    virBufferEscapeString(childBuf, "<snapshot name='%s'/>\n", src->snapshot);
+    virBufferEscapeString(childBuf, "<config file='%s'/>\n", src->configFile);
+
     return 0;
 }
 
@@ -21763,7 +21754,7 @@ virDomainDiskSourceFormatInternal(virBufferPtr buf,
             break;
 
         case VIR_STORAGE_TYPE_NETWORK:
-            if (virDomainDiskSourceFormatNetwork(buf, src) < 0)
+            if (virDomainDiskSourceFormatNetwork(&attrBuf, &childBuf, src) < 0)
                 goto error;
             break;