mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
qemu: hotplug: Ignore cgroup errors when hot-unplugging vcpus
When the vcpu is successfully removed libvirt would remove the cgroup. In cases when removal of the cgroup fails libvirt would report an error. This does not make much sense, since the vcpu was removed and we can't really do anything with the cgroup. This patch silences the errors from cgroup removal. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1462092
This commit is contained in:
parent
01f86fb301
commit
cf30a8cabd
@ -5322,6 +5322,7 @@ qemuDomainRemoveVcpu(virQEMUDriverPtr driver,
|
||||
qemuDomainVcpuPrivatePtr vcpupriv = QEMU_DOMAIN_VCPU_PRIVATE(vcpuinfo);
|
||||
int oldvcpus = virDomainDefGetVcpus(vm->def);
|
||||
unsigned int nvcpus = vcpupriv->vcpus;
|
||||
virErrorPtr save_error = NULL;
|
||||
size_t i;
|
||||
|
||||
if (qemuDomainRefreshVcpuInfo(driver, vm, QEMU_ASYNC_JOB_NONE, false) < 0)
|
||||
@ -5346,11 +5347,12 @@ qemuDomainRemoveVcpu(virQEMUDriverPtr driver,
|
||||
|
||||
virDomainAuditVcpu(vm, oldvcpus, oldvcpus - nvcpus, "update", true);
|
||||
|
||||
for (i = vcpu; i < vcpu + nvcpus; i++) {
|
||||
vcpuinfo = virDomainDefGetVcpu(vm->def, i);
|
||||
if (virCgroupDelThread(priv->cgroup, VIR_CGROUP_THREAD_VCPU, i) < 0)
|
||||
return -1;
|
||||
}
|
||||
virErrorPreserveLast(&save_error);
|
||||
|
||||
for (i = vcpu; i < vcpu + nvcpus; i++)
|
||||
ignore_value(virCgroupDelThread(priv->cgroup, VIR_CGROUP_THREAD_VCPU, i));
|
||||
|
||||
virErrorRestore(&save_error);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user