mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 03:12:22 +00:00
Convert LXC driver to use virCgroupNewMachine
Convert the LXC driver code to use the new atomic API for setup of cgroups Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
This commit is contained in:
parent
02098ac260
commit
f6c5f9077c
@ -431,7 +431,6 @@ cleanup:
|
||||
|
||||
virCgroupPtr virLXCCgroupCreate(virDomainDefPtr def)
|
||||
{
|
||||
virCgroupPtr parent = NULL;
|
||||
virCgroupPtr cgroup = NULL;
|
||||
|
||||
if (!def->resource) {
|
||||
@ -454,46 +453,26 @@ virCgroupPtr virLXCCgroupCreate(virDomainDefPtr def)
|
||||
def->resource->partition);
|
||||
goto cleanup;
|
||||
}
|
||||
/* We only auto-create the default partition. In other
|
||||
* cases we expect the sysadmin/app to have done so */
|
||||
if (virCgroupNewPartition(def->resource->partition,
|
||||
STREQ(def->resource->partition, "/machine"),
|
||||
-1,
|
||||
&parent) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (virCgroupNewDomainPartition(parent,
|
||||
"lxc",
|
||||
def->name,
|
||||
true,
|
||||
&cgroup) < 0)
|
||||
/*
|
||||
* XXX
|
||||
* We should pass the PID of the LXC init process
|
||||
* not ourselves, but this requires some more
|
||||
* refactoring. We should also pass the root dir
|
||||
*/
|
||||
if (virCgroupNewMachine(def->name,
|
||||
"lxc",
|
||||
true,
|
||||
def->uuid,
|
||||
NULL,
|
||||
getpid(),
|
||||
true,
|
||||
def->resource->partition,
|
||||
-1,
|
||||
&cgroup) < 0)
|
||||
goto cleanup;
|
||||
|
||||
cleanup:
|
||||
virCgroupFree(&parent);
|
||||
return cgroup;
|
||||
}
|
||||
|
||||
|
||||
virCgroupPtr virLXCCgroupJoin(virDomainDefPtr def)
|
||||
{
|
||||
virCgroupPtr cgroup = NULL;
|
||||
int ret = -1;
|
||||
|
||||
if (!(cgroup = virLXCCgroupCreate(def)))
|
||||
return NULL;
|
||||
|
||||
if (virCgroupAddTask(cgroup, getpid()) < 0)
|
||||
goto cleanup;
|
||||
|
||||
ret = 0;
|
||||
|
||||
cleanup:
|
||||
if (ret < 0) {
|
||||
virCgroupFree(&cgroup);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return cgroup;
|
||||
}
|
||||
|
||||
|
@ -2388,7 +2388,7 @@ int main(int argc, char *argv[])
|
||||
if (virLXCControllerValidateConsoles(ctrl) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (!(ctrl->cgroup = virLXCCgroupJoin(ctrl->def)))
|
||||
if (!(ctrl->cgroup = virLXCCgroupCreate(ctrl->def)))
|
||||
goto cleanup;
|
||||
|
||||
if (virLXCControllerSetupServer(ctrl) < 0)
|
||||
|
Loading…
x
Reference in New Issue
Block a user