]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
cgroup-show: drop unnecessary call of cg_mangle_path()
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sat, 30 Aug 2025 00:52:14 +0000 (09:52 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 17 Nov 2025 12:31:51 +0000 (21:31 +0900)
As the caller already dropped controller part.

src/basic/cgroup-util.c
src/basic/cgroup-util.h
src/cgls/cgls.c
src/shared/cgroup-show.c

index 2dfc9188fe0b05c2b9275499564ce013ec15feef..90069684c4facc08c8130b6b9e1edfbac3da9a0e 100644 (file)
@@ -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;
index b25660c086a413cffe33ee994c8fb865c049e923..59f27a72480dcc05352c68c3f022f0d8c20426c2 100644 (file)
@@ -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);
 
index 17c29d38c135c7996d561c65d7ca7b580f286a91..c224a892e41ed894b0198d9f920f7109996e7260 100644 (file)
@@ -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")) {
 
index 47ffaf725f24290f2ba268ea69dc41611ab7841a..94b8d15bec10bf03a8141212867929f2476ba0de 100644 (file)
@@ -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;