All other helper processes are moved to cgroup with QEMU emulator
thread as we keep the root VM cgroup without any processes. This
assumption is validated in qemuRestoreCgroupState() which is called
when libvirtd is restarted and reconnected to all running VMs.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
int
qemuDBusSetupCgroup(virQEMUDriverPtr driver,
- virDomainObjPtr vm)
+ virDomainObjPtr vm,
+ virCgroupPtr cgroup)
{
g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
qemuDomainObjPrivatePtr priv = vm->privateData;
return -1;
}
- return virCgroupAddProcess(priv->cgroup, cpid);
+ return virCgroupAddProcess(cgroup, cpid);
}
int
void qemuDBusVMStateRemove(virDomainObjPtr vm, const char *id);
int qemuDBusSetupCgroup(virQEMUDriverPtr driver,
- virDomainObjPtr vm);
+ virDomainObjPtr vm,
+ virCgroupPtr cgroup);
virDomainDefPtr def = vm->def;
size_t i;
- if (qemuDBusSetupCgroup(driver, vm) < 0)
+ if (qemuDBusSetupCgroup(driver, vm, cgroup) < 0)
return -1;
for (i = 0; i < def->nvideos; i++) {