mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-23 03:42:19 +00:00
conf: refactor formatting of 'blkiotune' from virDomainDefFormatInternal
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>
This commit is contained in:
parent
b6f32c9ec2
commit
a0585301cd
@ -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;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user