cgroup: explain when we cannot initialize the cgroup stuff

This commit is contained in:
Lennart Poettering 2011-03-29 20:29:02 +02:00
parent 34f0fd8187
commit 12235040ec
1 changed files with 8 additions and 2 deletions

View File

@ -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;
}