X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fbasic%2Fcgroup-util.c;h=3506ca8bffaf0c1b1085c3121c2b10d76e4deffb;hp=502fe460903ca5098daa744e2308fc45f32ef41d;hb=27e59415d0da0580569d6c48434ebc3c18c0d73c;hpb=d2338db3145922b1dfcb3b458e5bce2568a9347a diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c index 502fe4609..3506ca8bf 100644 --- a/src/basic/cgroup-util.c +++ b/src/basic/cgroup-util.c @@ -1,5 +1,3 @@ -/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ - /*** This file is part of systemd. @@ -19,28 +17,45 @@ along with systemd; If not, see . ***/ +#include #include -#include +#include +//#include #include -#include +//#include #include -#include +#include #include +//#include #include -#include +#include -#include "set.h" -#include "macro.h" -#include "util.h" -#include "formats-util.h" -#include "process-util.h" -#include "path-util.h" -// #include "unit-name.h" +#include "alloc-util.h" +#include "cgroup-util.h" +//#include "def.h" +#include "dirent-util.h" +#include "extract-word.h" +#include "fd-util.h" #include "fileio.h" -// #include "special.h" -#include "mkdir.h" +#include "formats-util.h" +#include "fs-util.h" +//#include "log.h" #include "login-util.h" -#include "cgroup-util.h" +#include "macro.h" +//#include "missing.h" +#include "mkdir.h" +#include "parse-util.h" +#include "path-util.h" +#include "proc-cmdline.h" +#include "process-util.h" +#include "set.h" +//#include "special.h" +#include "stat-util.h" +#include "stdio-util.h" +#include "string-table.h" +#include "string-util.h" +#include "unit-name.h" +#include "user-util.h" int cg_enumerate_processes(const char *controller, const char *path, FILE **_f) { _cleanup_free_ char *fs = NULL; @@ -76,7 +91,7 @@ int cg_read_pid(FILE *f, pid_t *_pid) { if (feof(f)) return 0; - return errno ? -errno : -EIO; + return errno > 0 ? -errno : -EIO; } if (ul <= 0) @@ -546,7 +561,6 @@ int cg_get_path(const char *controller, const char *path, const char *suffix, ch r = join_path_unified(path, suffix, fs); else r = join_path_legacy(controller, path, suffix, fs); - if (r < 0) return r; @@ -636,7 +650,7 @@ int cg_trim(const char *controller, const char *path, bool delete_root) { if (nftw(fs, trim_cb, 64, FTW_DEPTH|FTW_MOUNT|FTW_PHYS) != 0) { if (errno == ENOENT) r = 0; - else if (errno != 0) + else if (errno > 0) r = -errno; else r = -EIO; @@ -705,7 +719,7 @@ int cg_attach(const char *controller, const char *path, pid_t pid) { if (pid == 0) pid = getpid(); - snprintf(c, sizeof(c), PID_FMT"\n", pid); + xsprintf(c, PID_FMT "\n", pid); return write_string_file(fs, c, 0); } @@ -736,8 +750,7 @@ int cg_attach_fallback(const char *controller, const char *path, pid_t pid) { return r; } -/// UNNEEDED by elogind -#if 0 +#if 0 /// UNNEEDED by elogind int cg_set_group_access( const char *controller, const char *path, @@ -1159,12 +1172,11 @@ int cg_mangle_path(const char *path, char **result) { if (r < 0) return r; - return cg_get_path(c ? c : SYSTEMD_CGROUP_CONTROLLER, p ? p : "/", NULL, result); + return cg_get_path(c ?: SYSTEMD_CGROUP_CONTROLLER, p ?: "/", NULL, result); } int cg_get_root_path(char **path) { -/// elogind does not support systemd scopes and slices -#if 0 +#if 0 /// elogind does not support systemd scopes and slices char *p, *e; int r; @@ -1254,8 +1266,7 @@ int cg_pid_get_path_shifted(pid_t pid, const char *root, char **cgroup) { return 0; } -/// UNNEEDED by elogind -#if 0 +#if 0 /// UNNEEDED by elogind int cg_path_decode_unit(const char *cgroup, char **unit){ char *c, *s; size_t n; @@ -1574,8 +1585,7 @@ int cg_pid_get_session(pid_t pid, char **session) { return cg_path_get_session(cgroup, session); } -/// UNNEEDED by elogind -#if 0 +#if 0 /// UNNEEDED by elogind int cg_path_get_owner_uid(const char *path, uid_t *uid) { _cleanup_free_ char *slice = NULL; char *start, *end; @@ -1780,8 +1790,7 @@ bool cg_controller_is_valid(const char *p) { return true; } -/// UNNEEDED by elogind -#if 0 +#if 0 /// UNNEEDED by elogind int cg_slice_to_path(const char *unit, char **ret) { _cleanup_free_ char *p = NULL, *s = NULL, *e = NULL; const char *dash; @@ -1863,8 +1872,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri return write_string_file(p, value, 0); } -/// UNNEEDED by elogind -#if 0 +#if 0 /// UNNEEDED by elogind int cg_get_attribute(const char *controller, const char *path, const char *attribute, char **ret) { _cleanup_free_ char *p = NULL; int r; @@ -2097,8 +2105,7 @@ int cg_mask_supported(CGroupMask *ret) { return 0; } -/// UNNEEDED by elogind -#if 0 +#if 0 /// UNNEEDED by elogind int cg_kernel_controllers(Set *controllers) { _cleanup_fclose_ FILE *f = NULL; char buf[LINE_MAX]; @@ -2131,7 +2138,7 @@ int cg_kernel_controllers(Set *controllers) { if (feof(f)) break; - if (ferror(f) && errno != 0) + if (ferror(f) && errno > 0) return -errno; return -EBADMSG; @@ -2191,8 +2198,7 @@ int cg_unified(void) { return unified_cache; } -/// UNNEEDED by elogind -#if 0 +#if 0 /// UNNEEDED by elogind void cg_unified_flush(void) { unified_cache = -1; } @@ -2281,8 +2287,7 @@ bool cg_is_legacy_wanted(void) { } #endif // 0 -/// UNNEEDED by elogind -#if 0 +#if 0 /// UNNEEDED by elogind int cg_cpu_shares_parse(const char *s, uint64_t *ret) { uint64_t u; int r; @@ -2331,7 +2336,6 @@ static const char *cgroup_controller_table[_CGROUP_CONTROLLER_MAX] = { [CGROUP_CONTROLLER_MEMORY] = "memory", [CGROUP_CONTROLLER_DEVICES] = "devices", [CGROUP_CONTROLLER_PIDS] = "pids", - [CGROUP_CONTROLLER_NET_CLS] = "net_cls", }; DEFINE_STRING_TABLE_LOOKUP(cgroup_controller, CGroupController);