mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-02 09:55:18 +00:00
conf: Move iothread formatter into a separate function
Formatting iothreads is currently open coded inside of virDomainDefFormatInternalSetRootName(). While this works, it makes the function needlessly long, especially if the formatting code will expand in near future. Therefore, move it into a separate function. At the same time, make virDomainDefIothreadShouldFormat() accept const domain definition so that the new function can also accept const domain definition. Formatters shouldn't need to change definition. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
parent
13a8c0aa61
commit
c4c57cef33
@ -27570,7 +27570,7 @@ virDomainCpuDefFormat(virBuffer *buf,
|
||||
|
||||
|
||||
static bool
|
||||
virDomainDefIothreadShouldFormat(virDomainDef *def)
|
||||
virDomainDefIothreadShouldFormat(const virDomainDef *def)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
@ -27583,6 +27583,31 @@ virDomainDefIothreadShouldFormat(virDomainDef *def)
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
virDomainDefIOThreadsFormat(virBuffer *buf,
|
||||
const virDomainDef *def)
|
||||
{
|
||||
g_auto(virBuffer) childrenBuf = VIR_BUFFER_INIT_CHILD(buf);
|
||||
size_t i;
|
||||
|
||||
if (def->niothreadids == 0)
|
||||
return;
|
||||
|
||||
virBufferAsprintf(buf, "<iothreads>%zu</iothreads>\n",
|
||||
def->niothreadids);
|
||||
|
||||
if (!virDomainDefIothreadShouldFormat(def))
|
||||
return;
|
||||
|
||||
for (i = 0; i < def->niothreadids; i++) {
|
||||
virBufferAsprintf(&childrenBuf, "<iothread id='%u'/>\n",
|
||||
def->iothreadids[i]->iothread_id);
|
||||
}
|
||||
|
||||
virXMLFormatElement(buf, "iothreadids", NULL, &childrenBuf);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
virDomainIOMMUDefFormat(virBuffer *buf,
|
||||
const virDomainIOMMUDef *iommu)
|
||||
@ -28228,20 +28253,7 @@ virDomainDefFormatInternalSetRootName(virDomainDef *def,
|
||||
if (virDomainCpuDefFormat(buf, def) < 0)
|
||||
return -1;
|
||||
|
||||
if (def->niothreadids > 0) {
|
||||
virBufferAsprintf(buf, "<iothreads>%zu</iothreads>\n",
|
||||
def->niothreadids);
|
||||
if (virDomainDefIothreadShouldFormat(def)) {
|
||||
virBufferAddLit(buf, "<iothreadids>\n");
|
||||
virBufferAdjustIndent(buf, 2);
|
||||
for (i = 0; i < def->niothreadids; i++) {
|
||||
virBufferAsprintf(buf, "<iothread id='%u'/>\n",
|
||||
def->iothreadids[i]->iothread_id);
|
||||
}
|
||||
virBufferAdjustIndent(buf, -2);
|
||||
virBufferAddLit(buf, "</iothreadids>\n");
|
||||
}
|
||||
}
|
||||
virDomainDefIOThreadsFormat(buf, def);
|
||||
|
||||
if (virDomainCputuneDefFormat(buf, def, flags) < 0)
|
||||
return -1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user