mirror of
https://github.com/systemd/systemd.git
synced 2025-03-25 18:50:18 +03:00
cgroup: explain when we cannot initialize the cgroup stuff
This commit is contained in:
parent
34f0fd8187
commit
12235040ec
10
src/cgroup.c
10
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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user