util: cgroups do not implicitly add task to new machine cgroup

virCgroupNewMachine used to add the pidleader to the newly created
machine cgroup. Do not do this implicit anymore.

Signed-off-by: Henning Schild <henning.schild@siemens.com>
This commit is contained in:
Henning Schild 2015-12-09 17:58:10 +01:00 committed by John Ferlan
parent 65e3451ea9
commit 71ce475967
3 changed files with 22 additions and 22 deletions

View File

@ -504,6 +504,17 @@ virCgroupPtr virLXCCgroupCreate(virDomainDefPtr def,
&cgroup) < 0)
goto cleanup;
if (virCgroupAddTask(cgroup, initpid) < 0) {
virErrorPtr saved = virSaveLastError();
virCgroupRemove(cgroup);
virCgroupFree(&cgroup);
if (saved) {
virSetError(saved);
virFreeError(saved);
}
goto cleanup;
}
/* setup control group permissions for user namespace */
if (def->idmap.uidmap) {
if (virCgroupSetOwner(cgroup,

View File

@ -789,6 +789,17 @@ qemuInitCgroup(virQEMUDriverPtr driver,
goto cleanup;
}
if (virCgroupAddTask(priv->cgroup, vm->pid) < 0) {
virErrorPtr saved = virSaveLastError();
virCgroupRemove(priv->cgroup);
virCgroupFree(&priv->cgroup);
if (saved) {
virSetError(saved);
virFreeError(saved);
}
goto cleanup;
}
done:
ret = 0;
cleanup:

View File

@ -1669,16 +1669,6 @@ virCgroupNewMachineSystemd(const char *name,
}
}
if (virCgroupAddTask(*group, pidleader) < 0) {
virErrorPtr saved = virSaveLastError();
virCgroupRemove(*group);
virCgroupFree(group);
if (saved) {
virSetError(saved);
virFreeError(saved);
}
}
ret = 0;
cleanup:
virCgroupFree(&parent);
@ -1701,7 +1691,6 @@ int virCgroupTerminateMachine(const char *name,
static int
virCgroupNewMachineManual(const char *name,
const char *drivername,
pid_t pidleader,
const char *partition,
int controllers,
virCgroupPtr *group)
@ -1727,16 +1716,6 @@ virCgroupNewMachineManual(const char *name,
group) < 0)
goto cleanup;
if (virCgroupAddTask(*group, pidleader) < 0) {
virErrorPtr saved = virSaveLastError();
virCgroupRemove(*group);
virCgroupFree(group);
if (saved) {
virSetError(saved);
virFreeError(saved);
}
}
done:
ret = 0;
@ -1783,7 +1762,6 @@ virCgroupNewMachine(const char *name,
return virCgroupNewMachineManual(name,
drivername,
pidleader,
partition,
controllers,
group);