From 1f50730e44df8cc965149c2b4fd5bdac898e5b62 Mon Sep 17 00:00:00 2001 From: Martin Kletzander Date: Mon, 17 Dec 2012 16:03:01 +0100 Subject: [PATCH] conf: Don't format cputune element when not needed Commit 60b176c3d0f0d5037acfa5e27c7753f657833a0b introduced a bug that when editing an XML with cputune similar to this: ... 2 ... results in formatted XML that looks like this: ... 2 ... That is caused by a condition depending on def->cputune.vcpupin being set rather than checking def->cputune.nvcpupin. Notice that nvcpupin can be 0 and vcpupin can still be allocated since it's a pointer to an array, so no harm done there. I also changed it on other places in the code where it depended on the wrong variable. --- src/conf/domain_conf.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 8dbfb9622d..ac4b2c2b6f 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -13955,10 +13955,10 @@ virDomainIsAllVcpupinInherited(virDomainDefPtr def) int i; if (!def->cpumask) { - if (!def->cputune.vcpupin) - return true; - else + if (def->cputune.nvcpupin) return false; + else + return true; } else { for (i = 0; i < def->cputune.nvcpupin; i++) { if (!virBitmapEqual(def->cputune.vcpupin[i]->cpumask, @@ -14143,7 +14143,7 @@ virDomainDefFormatInternal(virDomainDefPtr def, virBufferAsprintf(buf, ">%u\n", def->maxvcpus); if (def->cputune.shares || - (def->cputune.vcpupin && !virDomainIsAllVcpupinInherited(def)) || + (def->cputune.nvcpupin && !virDomainIsAllVcpupinInherited(def)) || def->cputune.period || def->cputune.quota || def->cputune.emulatorpin || def->cputune.emulator_period || def->cputune.emulator_quota) @@ -14209,7 +14209,7 @@ virDomainDefFormatInternal(virDomainDefPtr def, VIR_FREE(cpumask); } if (def->cputune.shares || - (def->cputune.vcpupin && !virDomainIsAllVcpupinInherited(def)) || + (def->cputune.nvcpupin && !virDomainIsAllVcpupinInherited(def)) || def->cputune.period || def->cputune.quota || def->cputune.emulatorpin || def->cputune.emulator_period || def->cputune.emulator_quota)