提交 06f75ff2 编写于 作者: J Jiri Denemark

qemu: Don't update CPU when formatting live def

Since commit v2.2.0-199-g7ce711a3 libvirt stores an updated guest CPU
in domain's live definition and there's no need to update it every time
we want to format the definition. The commit itself tried to address
this in qemuDomainFormatXML, but forgot to fix qemuDomainDefFormatLive.
Not to mention that masking a previously set flag is only acceptable if
the flag was set by a public API user. Internally, libvirt should have
never set the flag in the first place.

https://bugzilla.redhat.com/show_bug.cgi?id=1485022Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
上级 7e874326
......@@ -4765,8 +4765,6 @@ char *qemuDomainFormatXML(virQEMUDriverPtr driver,
} else {
def = vm->def;
origCPU = priv->origCPU;
if (virDomainObjIsActive(vm))
flags &= ~VIR_DOMAIN_XML_UPDATE_CPU;
}
return qemuDomainDefFormatXMLInternal(driver, def, origCPU, flags);
......
......@@ -40,8 +40,7 @@
# include "logging/log_manager.h"
# define QEMU_DOMAIN_FORMAT_LIVE_FLAGS \
(VIR_DOMAIN_XML_SECURE | \
VIR_DOMAIN_XML_UPDATE_CPU)
(VIR_DOMAIN_XML_SECURE)
# if ULONG_MAX == 4294967295
/* QEMU has a 64-bit limit, but we are limited by our historical choice of
......
......@@ -6997,6 +6997,13 @@ static char
if ((flags & VIR_DOMAIN_XML_MIGRATABLE))
flags |= QEMU_DOMAIN_FORMAT_LIVE_FLAGS;
/* The CPU is already updated in the domain's live definition, we need to
* ignore the VIR_DOMAIN_XML_UPDATE_CPU flag.
*/
if (virDomainObjIsActive(vm) &&
!(flags & VIR_DOMAIN_DEF_FORMAT_INACTIVE))
flags &= ~VIR_DOMAIN_XML_UPDATE_CPU;
ret = qemuDomainFormatXML(driver, vm, flags);
cleanup:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册