Avoid creating top level cgroups if just querying for existance

When getting the driver/domain cgroup it is possible to specify
whether it should be auto created. If auto-creation was turned
off, libvirt still mistakenly created its own top level cgroup

* src/util/cgroup.c: Honour autocreate flag for top level cgroup
This commit is contained in:
Daniel P. Berrange 2010-03-04 11:01:52 +00:00
parent 5c0e525c1c
commit ede3bc1128

View File

@ -519,7 +519,8 @@ err:
}
static int virCgroupAppRoot(int privileged,
virCgroupPtr *group)
virCgroupPtr *group,
int create)
{
virCgroupPtr rootgrp = NULL;
int rc;
@ -551,7 +552,7 @@ static int virCgroupAppRoot(int privileged,
if (rc != 0)
goto cleanup;
rc = virCgroupMakeGroup(rootgrp, *group, 1);
rc = virCgroupMakeGroup(rootgrp, *group, create);
cleanup:
virCgroupFree(&rootgrp);
@ -638,7 +639,7 @@ int virCgroupForDriver(const char *name,
char *path = NULL;
virCgroupPtr rootgrp = NULL;
rc = virCgroupAppRoot(privileged, &rootgrp);
rc = virCgroupAppRoot(privileged, &rootgrp, create);
if (rc != 0)
goto out;