]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: refactor formatting of 'blkiotune' from virDomainDefFormatInternal
authorPeter Krempa <pkrempa@redhat.com>
Tue, 5 Mar 2019 11:50:36 +0000 (12:50 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 6 Mar 2019 14:53:52 +0000 (15:53 +0100)
Split out the code into a separate function named
virDomainDefFormatBlkiotune and use virXMLFormatElement.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/conf/domain_conf.c

index 5d745f8bce961c58a1059d4ce2e5a619d0455a7c..01ec5c8ca957c4bb0625adc50e0d5311cee715d7 100644 (file)
@@ -27696,6 +27696,51 @@ virDomainVsockDefFormat(virBufferPtr buf,
 }
 
 
+static int
+virDomainDefFormatBlkiotune(virBufferPtr buf,
+                            virDomainDefPtr def)
+{
+    VIR_AUTOCLEAN(virBuffer) childrenBuf = VIR_BUFFER_INITIALIZER;
+    ssize_t n;
+
+    virBufferSetChildIndent(&childrenBuf, buf);
+    if (def->blkio.weight)
+        virBufferAsprintf(&childrenBuf, "<weight>%u</weight>\n",
+                          def->blkio.weight);
+
+    for (n = 0; n < def->blkio.ndevices; n++) {
+        virBlkioDevicePtr dev = &def->blkio.devices[n];
+
+        if (!dev->weight && !dev->riops && !dev->wiops &&
+            !dev->rbps && !dev->wbps)
+            continue;
+        virBufferAddLit(&childrenBuf, "<device>\n");
+        virBufferAdjustIndent(&childrenBuf, 2);
+        virBufferEscapeString(&childrenBuf, "<path>%s</path>\n",
+                              dev->path);
+        if (dev->weight)
+            virBufferAsprintf(&childrenBuf, "<weight>%u</weight>\n",
+                              dev->weight);
+        if (dev->riops)
+            virBufferAsprintf(&childrenBuf, "<read_iops_sec>%u</read_iops_sec>\n",
+                              dev->riops);
+        if (dev->wiops)
+            virBufferAsprintf(&childrenBuf, "<write_iops_sec>%u</write_iops_sec>\n",
+                              dev->wiops);
+        if (dev->rbps)
+            virBufferAsprintf(&childrenBuf, "<read_bytes_sec>%llu</read_bytes_sec>\n",
+                              dev->rbps);
+        if (dev->wbps)
+            virBufferAsprintf(&childrenBuf, "<write_bytes_sec>%llu</write_bytes_sec>\n",
+                              dev->wbps);
+        virBufferAdjustIndent(&childrenBuf, -2);
+        virBufferAddLit(&childrenBuf, "</device>\n");
+    }
+
+    return virXMLFormatElement(buf, "blkiotune", NULL, &childrenBuf);
+}
+
+
 /* This internal version appends to an existing buffer
  * (possibly with auto-indent), rather than flattening
  * to string.
@@ -27797,51 +27842,9 @@ virDomainDefFormatInternal(virDomainDefPtr def,
     virBufferAsprintf(buf, "<currentMemory unit='KiB'>%llu</currentMemory>\n",
                       def->mem.cur_balloon);
 
-    /* start format blkiotune */
-    virBufferSetChildIndent(&childrenBuf, buf);
-    if (def->blkio.weight)
-        virBufferAsprintf(&childrenBuf, "<weight>%u</weight>\n",
-                          def->blkio.weight);
-
-    for (n = 0; n < def->blkio.ndevices; n++) {
-        virBlkioDevicePtr dev = &def->blkio.devices[n];
-
-        if (!dev->weight && !dev->riops && !dev->wiops &&
-            !dev->rbps && !dev->wbps)
-            continue;
-        virBufferAddLit(&childrenBuf, "<device>\n");
-        virBufferAdjustIndent(&childrenBuf, 2);
-        virBufferEscapeString(&childrenBuf, "<path>%s</path>\n",
-                              dev->path);
-        if (dev->weight)
-            virBufferAsprintf(&childrenBuf, "<weight>%u</weight>\n",
-                              dev->weight);
-        if (dev->riops)
-            virBufferAsprintf(&childrenBuf, "<read_iops_sec>%u</read_iops_sec>\n",
-                              dev->riops);
-        if (dev->wiops)
-            virBufferAsprintf(&childrenBuf, "<write_iops_sec>%u</write_iops_sec>\n",
-                              dev->wiops);
-        if (dev->rbps)
-            virBufferAsprintf(&childrenBuf, "<read_bytes_sec>%llu</read_bytes_sec>\n",
-                              dev->rbps);
-        if (dev->wbps)
-            virBufferAsprintf(&childrenBuf, "<write_bytes_sec>%llu</write_bytes_sec>\n",
-                              dev->wbps);
-        virBufferAdjustIndent(&childrenBuf, -2);
-        virBufferAddLit(&childrenBuf, "</device>\n");
-    }
-
-    if (virBufferCheckError(&childrenBuf) < 0)
+    if (virDomainDefFormatBlkiotune(buf, def) < 0)
         goto error;
 
-    if (virBufferUse(&childrenBuf)) {
-        virBufferAddLit(buf, "<blkiotune>\n");
-        virBufferAddBuffer(buf, &childrenBuf);
-        virBufferAddLit(buf, "</blkiotune>\n");
-    }
-    virBufferFreeAndReset(&childrenBuf);
-
     if (virDomainMemtuneFormat(buf, &def->mem) < 0)
         goto error;