From: Peter Krempa Date: Tue, 14 Jun 2016 09:35:39 +0000 (+0200) Subject: conf: Extract code formatting vCPU info X-Git-Tag: v2.1.0-rc1~215 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=54f875dc53057ddbde063b941d44442102e424e1;p=thirdparty%2Flibvirt.git conf: Extract code formatting vCPU info --- diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index cf5eb1da32..74075f0eab 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -22779,6 +22779,35 @@ virDomainCputuneDefFormat(virBufferPtr buf, } +static int +virDomainCpuDefFormat(virBufferPtr buf, + const virDomainDef *def) +{ + char *cpumask = NULL; + int ret = -1; + + virBufferAddLit(buf, "placement_mode)); + + if (def->cpumask && !virBitmapIsAllSet(def->cpumask)) { + if ((cpumask = virBitmapFormat(def->cpumask)) == NULL) + goto cleanup; + virBufferAsprintf(buf, " cpuset='%s'", cpumask); + } + if (virDomainDefHasVcpusOffline(def)) + virBufferAsprintf(buf, " current='%u'", virDomainDefGetVcpus(def)); + virBufferAsprintf(buf, ">%u\n", virDomainDefGetVcpusMax(def)); + + ret = 0; + + cleanup: + VIR_FREE(cpumask); + + return ret; +} + + /* This internal version appends to an existing buffer * (possibly with auto-indent), rather than flattening * to string. @@ -22954,20 +22983,8 @@ virDomainDefFormatInternal(virDomainDefPtr def, virBufferAddLit(buf, "\n"); } - virBufferAddLit(buf, "placement_mode)); - - if (def->cpumask && !virBitmapIsAllSet(def->cpumask)) { - char *cpumask = NULL; - if ((cpumask = virBitmapFormat(def->cpumask)) == NULL) - goto error; - virBufferAsprintf(buf, " cpuset='%s'", cpumask); - VIR_FREE(cpumask); - } - if (virDomainDefHasVcpusOffline(def)) - virBufferAsprintf(buf, " current='%u'", virDomainDefGetVcpus(def)); - virBufferAsprintf(buf, ">%u\n", virDomainDefGetVcpusMax(def)); + if (virDomainCpuDefFormat(buf, def) < 0) + goto error; if (def->niothreadids > 0) { virBufferAsprintf(buf, "%u\n",