From: Peter Krempa Date: Tue, 18 Jan 2022 09:08:03 +0000 (+0100) Subject: qemuDomainPinIOThread: Update live definition after process pinning X-Git-Tag: v8.1.0-rc1~410 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ce20fe5c2abd8b5bf2064452a7fc9ca54eecaf1f;p=thirdparty%2Flibvirt.git qemuDomainPinIOThread: Update live definition after process pinning Otherwise we'll keep using the new pinning value even if it can't be applied to the thread. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2040555 Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko Reviewed-by: Pavel Hrdina --- diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 077547e1d3..3c0c81a6b9 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -5018,10 +5018,6 @@ qemuDomainPinIOThread(virDomainPtr dom, goto endjob; } - virBitmapFree(iothrid->cpumask); - iothrid->cpumask = virBitmapNewCopy(pcpumap); - iothrid->autofill = false; - /* Configure the corresponding cpuset cgroup before set affinity. */ if (virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_CPUSET)) { @@ -5039,6 +5035,10 @@ qemuDomainPinIOThread(virDomainPtr dom, if (virProcessSetAffinity(iothrid->thread_id, pcpumap, false) < 0) goto endjob; + virBitmapFree(iothrid->cpumask); + iothrid->cpumask = virBitmapNewCopy(pcpumap); + iothrid->autofill = false; + qemuDomainSaveStatus(vm); if (g_snprintf(paramField, VIR_TYPED_PARAM_FIELD_LENGTH,