chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
core: rename unit_destroy_cgroup() to unit_destroy_cgroup_if_empty() since it's not...
[elogind.git]
/
src
/
core
/
cgroup.c
diff --git
a/src/core/cgroup.c
b/src/core/cgroup.c
index c24bfc8d33f34f848f36e6aca2ed4bc5fddb53ac..6815ca907ac5a41f331771c9a39d603aaa158882 100644
(file)
--- a/
src/core/cgroup.c
+++ b/
src/core/cgroup.c
@@
-153,10
+153,8
@@
static int lookup_blkio_device(const char *p, dev_t *dev) {
assert(dev);
r = stat(p, &st);
assert(dev);
r = stat(p, &st);
- if (r < 0) {
- log_warning("Couldn't stat device %s: %m", p);
- return -errno;
- }
+ if (r < 0)
+ return log_warning_errno(errno, "Couldn't stat device %s: %m", p);
if (S_ISBLK(st.st_mode))
*dev = st.st_rdev;
if (S_ISBLK(st.st_mode))
*dev = st.st_rdev;
@@
-218,10
+216,8
@@
static int whitelist_major(const char *path, const char *name, char type, const
assert(type == 'b' || type == 'c');
f = fopen("/proc/devices", "re");
assert(type == 'b' || type == 'c');
f = fopen("/proc/devices", "re");
- if (!f) {
- log_warning("Cannot open /proc/devices to resolve %s (%c): %m", name, type);
- return -errno;
- }
+ if (!f)
+ return log_warning_errno(errno, "Cannot open /proc/devices to resolve %s (%c): %m", name, type);
FOREACH_LINE(line, f, goto fail) {
char buf[2+DECIMAL_STR_MAX(unsigned)+3+4], *p, *w;
FOREACH_LINE(line, f, goto fail) {
char buf[2+DECIMAL_STR_MAX(unsigned)+3+4], *p, *w;
@@
-280,7
+276,7
@@
static int whitelist_major(const char *path, const char *name, char type, const
return 0;
fail:
return 0;
fail:
- log_warning
(
"Failed to read /proc/devices: %m");
+ log_warning
_errno(errno,
"Failed to read /proc/devices: %m");
return -errno;
}
return -errno;
}
@@
-786,7
+782,7
@@
int unit_realize_cgroup(Unit *u) {
return unit_realize_cgroup_now(u, manager_state(u->manager));
}
return unit_realize_cgroup_now(u, manager_state(u->manager));
}
-void unit_destroy_cgroup(Unit *u) {
+void unit_destroy_cgroup
_if_empty
(Unit *u) {
int r;
assert(u);
int r;
assert(u);
@@
-795,8
+791,10
@@
void unit_destroy_cgroup(Unit *u) {
return;
r = cg_trim_everywhere(u->manager->cgroup_supported, u->cgroup_path, !unit_has_name(u, SPECIAL_ROOT_SLICE));
return;
r = cg_trim_everywhere(u->manager->cgroup_supported, u->cgroup_path, !unit_has_name(u, SPECIAL_ROOT_SLICE));
- if (r < 0)
+ if (r < 0)
{
log_debug_errno(r, "Failed to destroy cgroup %s: %m", u->cgroup_path);
log_debug_errno(r, "Failed to destroy cgroup %s: %m", u->cgroup_path);
+ return;
+ }
hashmap_remove(u->manager->cgroup_unit, u->cgroup_path);
hashmap_remove(u->manager->cgroup_unit, u->cgroup_path);
@@
-804,7
+802,6
@@
void unit_destroy_cgroup(Unit *u) {
u->cgroup_path = NULL;
u->cgroup_realized = false;
u->cgroup_realized_mask = 0;
u->cgroup_path = NULL;
u->cgroup_realized = false;
u->cgroup_realized_mask = 0;
-
}
pid_t unit_search_main_pid(Unit *u) {
}
pid_t unit_search_main_pid(Unit *u) {
@@
-905,10
+902,8
@@
int manager_setup_cgroup(Manager *m) {
safe_close(m->pin_cgroupfs_fd);
m->pin_cgroupfs_fd = open(path, O_RDONLY|O_CLOEXEC|O_DIRECTORY|O_NOCTTY|O_NONBLOCK);
safe_close(m->pin_cgroupfs_fd);
m->pin_cgroupfs_fd = open(path, O_RDONLY|O_CLOEXEC|O_DIRECTORY|O_NOCTTY|O_NONBLOCK);
- if (m->pin_cgroupfs_fd < 0) {
- log_error("Failed to open pin file: %m");
- return -errno;
- }
+ if (m->pin_cgroupfs_fd < 0)
+ return log_error_errno(errno, "Failed to open pin file: %m");
/* 6. Always enable hierarchial support if it exists... */
cg_set_attribute("memory", "/", "memory.use_hierarchy", "1");
/* 6. Always enable hierarchial support if it exists... */
cg_set_attribute("memory", "/", "memory.use_hierarchy", "1");