diff options
author | Lennart Poettering <lennart@poettering.net> | 2011-03-29 20:29:02 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2011-03-29 20:29:02 +0200 |
commit | 12235040ec94279ad92693dcfae0a4d9c35a6076 (patch) | |
tree | 3b2752e570b5d2b5fb39e3d12a92cb5c19d2db61 /src | |
parent | 34f0fd8187e3de692a04f20958893e163ead72ca (diff) |
cgroup: explain when we cannot initialize the cgroup stuff
Diffstat (limited to 'src')
-rw-r--r-- | src/cgroup.c | 10 |
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, ¤t)) < 0) + if ((r = cg_get_by_pid(SYSTEMD_CGROUP_CONTROLLER, 0, ¤t)) < 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; } |