From ede3bc112830491dca1b4ef24762cd52730762c3 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Thu, 4 Mar 2010 11:01:52 +0000 Subject: [PATCH] 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 --- src/util/cgroup.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/util/cgroup.c b/src/util/cgroup.c index ad0d5955a4..b4c3353fb2 100644 --- a/src/util/cgroup.c +++ b/src/util/cgroup.c @@ -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;