mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
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:
committed by
John Ferlan
parent
65e3451ea9
commit
71ce475967
@@ -504,6 +504,17 @@ virCgroupPtr virLXCCgroupCreate(virDomainDefPtr def,
|
|||||||
&cgroup) < 0)
|
&cgroup) < 0)
|
||||||
goto cleanup;
|
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 */
|
/* setup control group permissions for user namespace */
|
||||||
if (def->idmap.uidmap) {
|
if (def->idmap.uidmap) {
|
||||||
if (virCgroupSetOwner(cgroup,
|
if (virCgroupSetOwner(cgroup,
|
||||||
|
|||||||
@@ -789,6 +789,17 @@ qemuInitCgroup(virQEMUDriverPtr driver,
|
|||||||
goto cleanup;
|
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:
|
done:
|
||||||
ret = 0;
|
ret = 0;
|
||||||
cleanup:
|
cleanup:
|
||||||
|
|||||||
@@ -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;
|
ret = 0;
|
||||||
cleanup:
|
cleanup:
|
||||||
virCgroupFree(&parent);
|
virCgroupFree(&parent);
|
||||||
@@ -1701,7 +1691,6 @@ int virCgroupTerminateMachine(const char *name,
|
|||||||
static int
|
static int
|
||||||
virCgroupNewMachineManual(const char *name,
|
virCgroupNewMachineManual(const char *name,
|
||||||
const char *drivername,
|
const char *drivername,
|
||||||
pid_t pidleader,
|
|
||||||
const char *partition,
|
const char *partition,
|
||||||
int controllers,
|
int controllers,
|
||||||
virCgroupPtr *group)
|
virCgroupPtr *group)
|
||||||
@@ -1727,16 +1716,6 @@ virCgroupNewMachineManual(const char *name,
|
|||||||
group) < 0)
|
group) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (virCgroupAddTask(*group, pidleader) < 0) {
|
|
||||||
virErrorPtr saved = virSaveLastError();
|
|
||||||
virCgroupRemove(*group);
|
|
||||||
virCgroupFree(group);
|
|
||||||
if (saved) {
|
|
||||||
virSetError(saved);
|
|
||||||
virFreeError(saved);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
done:
|
done:
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
||||||
@@ -1783,7 +1762,6 @@ virCgroupNewMachine(const char *name,
|
|||||||
|
|
||||||
return virCgroupNewMachineManual(name,
|
return virCgroupNewMachineManual(name,
|
||||||
drivername,
|
drivername,
|
||||||
pidleader,
|
|
||||||
partition,
|
partition,
|
||||||
controllers,
|
controllers,
|
||||||
group);
|
group);
|
||||||
|
|||||||
Reference in New Issue
Block a user