mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
qemu: driver: Don't return automatic NUMA vCPU pinning data for persistentDef
Calling virDomainGetVcpuPinInfo on a live VM with automatic NUMA pinning and VIR_DOMAIN_AFFECT_CONFIG would return the automatic pinning data in some cases which is bogus. Use the autoCpuset property only when called on a live definition. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1365779
This commit is contained in:
parent
63aac8c299
commit
552892c59d
@ -5171,8 +5171,9 @@ qemuDomainGetVcpuPinInfo(virDomainPtr dom,
|
|||||||
{
|
{
|
||||||
virDomainObjPtr vm = NULL;
|
virDomainObjPtr vm = NULL;
|
||||||
virDomainDefPtr def;
|
virDomainDefPtr def;
|
||||||
|
bool live;
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
qemuDomainObjPrivatePtr priv = NULL;
|
virBitmapPtr autoCpuset = NULL;
|
||||||
|
|
||||||
virCheckFlags(VIR_DOMAIN_AFFECT_LIVE |
|
virCheckFlags(VIR_DOMAIN_AFFECT_LIVE |
|
||||||
VIR_DOMAIN_AFFECT_CONFIG, -1);
|
VIR_DOMAIN_AFFECT_CONFIG, -1);
|
||||||
@ -5183,14 +5184,14 @@ qemuDomainGetVcpuPinInfo(virDomainPtr dom,
|
|||||||
if (virDomainGetVcpuPinInfoEnsureACL(dom->conn, vm->def) < 0)
|
if (virDomainGetVcpuPinInfoEnsureACL(dom->conn, vm->def) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(def = virDomainObjGetOneDef(vm, flags)))
|
if (!(def = virDomainObjGetOneDefState(vm, flags, &live)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
priv = vm->privateData;
|
if (live)
|
||||||
|
autoCpuset = QEMU_DOMAIN_PRIVATE(vm)->autoCpuset;
|
||||||
|
|
||||||
ret = virDomainDefGetVcpuPinInfoHelper(def, maplen, ncpumaps, cpumaps,
|
ret = virDomainDefGetVcpuPinInfoHelper(def, maplen, ncpumaps, cpumaps,
|
||||||
virHostCPUGetCount(),
|
virHostCPUGetCount(), autoCpuset);
|
||||||
priv->autoCpuset);
|
|
||||||
cleanup:
|
cleanup:
|
||||||
virDomainObjEndAPI(&vm);
|
virDomainObjEndAPI(&vm);
|
||||||
return ret;
|
return ret;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user