summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2011-03-29 20:29:02 +0200
committerLennart Poettering <lennart@poettering.net>2011-03-29 20:29:02 +0200
commit12235040ec94279ad92693dcfae0a4d9c35a6076 (patch)
tree3b2752e570b5d2b5fb39e3d12a92cb5c19d2db61 /src
parent34f0fd8187e3de692a04f20958893e163ead72ca (diff)
cgroup: explain when we cannot initialize the cgroup stuff
Diffstat (limited to 'src')
-rw-r--r--src/cgroup.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/cgroup.c b/src/cgroup.c
index b75fe0bee0..5864858dd7 100644
--- a/src/cgroup.c
+++ b/src/cgroup.c
@@ -226,8 +226,10 @@ int manager_setup_cgroup(Manager *m) {
assert(m);
/* 1. Determine hierarchy */
- if ((r = cg_get_by_pid(SYSTEMD_CGROUP_CONTROLLER, 0, &current)) < 0)
+ if ((r = cg_get_by_pid(SYSTEMD_CGROUP_CONTROLLER, 0, &current)) < 0) {
+ log_error("Cannot determine cgroup we are running in: %s", strerror(-r));
goto finish;
+ }
if (m->running_as == MANAGER_SYSTEM)
strcpy(suffix, "/system");
@@ -246,14 +248,17 @@ int manager_setup_cgroup(Manager *m) {
/* We need a new root cgroup */
m->cgroup_hierarchy = NULL;
if (asprintf(&m->cgroup_hierarchy, "%s%s", streq(current, "/") ? "" : current, suffix) < 0) {
+ log_error("Out of memory");
r = -ENOMEM;
goto finish;
}
}
/* 2. Show data */
- if ((r = cg_get_path(SYSTEMD_CGROUP_CONTROLLER, m->cgroup_hierarchy, NULL, &path)) < 0)
+ if ((r = cg_get_path(SYSTEMD_CGROUP_CONTROLLER, m->cgroup_hierarchy, NULL, &path)) < 0) {
+ log_error("Cannot find cgroup mount point: %s", strerror(-r));
goto finish;
+ }
log_debug("Using cgroup controller " SYSTEMD_CGROUP_CONTROLLER ". File system hierarchy is at %s.", path);
@@ -276,6 +281,7 @@ int manager_setup_cgroup(Manager *m) {
close_nointr_nofail(m->pin_cgroupfs_fd);
if ((m->pin_cgroupfs_fd = open(path, O_RDONLY|O_CLOEXEC|O_DIRECTORY|O_NOCTTY|O_NONBLOCK)) < 0) {
+ log_error("Failed to open pin file: %m");
r = -errno;
goto finish;
}