From 6a8ab5f062ca8ee81fbfe6e89c67b789852e9dff Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sat, 30 Aug 2025 09:52:14 +0900 Subject: [PATCH] cgroup-show: drop unnecessary call of cg_mangle_path() As the caller already dropped controller part. --- src/basic/cgroup-util.c | 19 ------------------- src/basic/cgroup-util.h | 1 - src/cgls/cgls.c | 2 +- src/shared/cgroup-show.c | 17 +++++------------ 4 files changed, 6 insertions(+), 33 deletions(-) diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c index 2dfc9188fe0..90069684c4f 100644 --- a/src/basic/cgroup-util.c +++ b/src/basic/cgroup-util.c @@ -687,25 +687,6 @@ int cg_split_spec(const char *spec, char **ret_controller, char **ret_path) { return 0; } -int cg_mangle_path(const char *path, char **ret) { - _cleanup_free_ char *p = NULL; - int r; - - assert(path); - assert(ret); - - /* First, check if it already is a filesystem path */ - if (path_startswith(path, "/sys/fs/cgroup")) - return path_simplify_alloc(path, ret); - - /* Otherwise, treat it as cg spec */ - r = cg_split_spec(path, /* ret_controller = */ NULL, &p); - if (r < 0) - return r; - - return cg_get_path(p, /* suffix = */ NULL, ret); -} - int cg_get_root_path(char **ret_path) { char *p, *e; int r; diff --git a/src/basic/cgroup-util.h b/src/basic/cgroup-util.h index b25660c086a..59f27a72480 100644 --- a/src/basic/cgroup-util.h +++ b/src/basic/cgroup-util.h @@ -162,7 +162,6 @@ int cg_kill_kernel_sigkill(const char *path); int cg_kill_recursive(const char *path, int sig, CGroupFlags flags, Set *killed_pids, cg_kill_log_func_t log_kill, void *userdata); int cg_split_spec(const char *spec, char **ret_controller, char **ret_path); -int cg_mangle_path(const char *path, char **ret); int cg_get_path(const char *path, const char *suffix, char **ret); diff --git a/src/cgls/cgls.c b/src/cgls/cgls.c index 17c29d38c13..c224a892e41 100644 --- a/src/cgls/cgls.c +++ b/src/cgls/cgls.c @@ -244,7 +244,7 @@ static int run(int argc, char *argv[]) { printf("Unit %s (%s):\n", unit_name, cgroup); fflush(stdout); - q = show_cgroup_by_path(cgroup, NULL, 0, arg_output_flags); + q = show_cgroup(cgroup, NULL, 0, arg_output_flags); } else if (path_startswith(*name, "/sys/fs/cgroup")) { diff --git a/src/shared/cgroup-show.c b/src/shared/cgroup-show.c index 47ffaf725f2..94b8d15bec1 100644 --- a/src/shared/cgroup-show.c +++ b/src/shared/cgroup-show.c @@ -87,16 +87,13 @@ static int show_cgroup_one_by_path( _cleanup_free_ pid_t *pids = NULL; _cleanup_fclose_ FILE *f = NULL; - _cleanup_free_ char *p = NULL; size_t n = 0; char *fn; int r; - r = cg_mangle_path(path, &p); - if (r < 0) - return r; + assert(path); - fn = strjoina(p, "/cgroup.procs"); + fn = strjoina(path, "/cgroup.procs"); f = fopen(fn, "re"); if (!f) return -errno; @@ -225,7 +222,7 @@ int show_cgroup_by_path( size_t n_columns, OutputFlags flags) { - _cleanup_free_ char *fn = NULL, *p1 = NULL, *last = NULL, *p2 = NULL; + _cleanup_free_ char *p1 = NULL, *last = NULL, *p2 = NULL; _cleanup_closedir_ DIR *d = NULL; bool shown_pids = false; char *gn = NULL; @@ -238,18 +235,14 @@ int show_cgroup_by_path( prefix = strempty(prefix); - r = cg_mangle_path(path, &fn); - if (r < 0) - return r; - - d = opendir(fn); + d = opendir(path); if (!d) return -errno; while ((r = cg_read_subgroup(d, &gn)) > 0) { _cleanup_free_ char *k = NULL; - k = path_join(fn, gn); + k = path_join(path, gn); free(gn); if (!k) return -ENOMEM; -- 2.47.3