From: Ján Tomko Date: Fri, 5 Dec 2014 11:32:18 +0000 (+0100) Subject: Do not format CPU features without a model X-Git-Tag: v1.2.9.3~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c9da7af61ed93fc6e8d12c3c522c17fb0afcb71b;p=thirdparty%2Flibvirt.git Do not format CPU features without a model For host-passthrough CPU we don't honor the CPU features specified in the XML, but we allow outputting them via the UPDATE_CPU flag for dumpxml, this gives user a rough idea of what features the CPU might have. After restoring a managedsave'd domain, the features might end up in the live status XML (in /var/run) without the model. This XML cannot be parsed by the daemon after restart and the domain might disappear. This fix skips formatting the features for HOST_PASSTHROUGH when UPDATE_CPU is not specified, so the newly restored domains and newly created snapshots won't be affected. Note: this doesn't fix existing snapshots or already restored running domains. https://bugzilla.redhat.com/show_bug.cgi?id=1030793 https://bugzilla.redhat.com/show_bug.cgi?id=1151885 (cherry picked from commit dd324bb2703b9cf619c521b2a04f186cd9734f0a) --- diff --git a/src/conf/cpu_conf.c b/src/conf/cpu_conf.c index 9b7fbb080b..5f447498b7 100644 --- a/src/conf/cpu_conf.c +++ b/src/conf/cpu_conf.c @@ -666,7 +666,7 @@ virCPUDefFormatBuf(virBufferPtr buf, virBufferAddLit(buf, "/>\n"); } - for (i = 0; i < def->nfeatures; i++) { + for (i = 0; formatModel && i < def->nfeatures; i++) { virCPUFeatureDefPtr feature = def->features + i; if (!feature->name) {