From 3386f66200d53099674bed434eb5942b2ad0067a Mon Sep 17 00:00:00 2001 From: Mike Yuan Date: Tue, 30 Jul 2024 15:40:25 +0200 Subject: [PATCH] cgroup-setup: drop unused cg_migrate_callback for cg_attach_everywhere() While at it, move the typedef from cgroup-util to -setup. --- src/basic/cgroup-util.h | 2 -- src/core/exec-invoke.c | 2 +- src/core/unit.c | 2 +- src/shared/cgroup-setup.c | 13 +++++-------- src/shared/cgroup-setup.h | 14 +++++++++----- src/shared/tests.c | 2 +- src/test/test-bpf-devices.c | 2 +- 7 files changed, 18 insertions(+), 19 deletions(-) diff --git a/src/basic/cgroup-util.h b/src/basic/cgroup-util.h index 84009b47c1..28c11ef3e2 100644 --- a/src/basic/cgroup-util.h +++ b/src/basic/cgroup-util.h @@ -304,8 +304,6 @@ bool cg_controller_is_valid(const char *p); int cg_slice_to_path(const char *unit, char **ret); -typedef const char* (*cg_migrate_callback_t)(CGroupMask mask, void *userdata); - int cg_mask_supported(CGroupMask *ret); int cg_mask_supported_subtree(const char *root, CGroupMask *ret); int cg_mask_from_string(const char *s, CGroupMask *ret); diff --git a/src/core/exec-invoke.c b/src/core/exec-invoke.c index 71b5a58676..cf17824fe8 100644 --- a/src/core/exec-invoke.c +++ b/src/core/exec-invoke.c @@ -4351,7 +4351,7 @@ int exec_invoke( return log_exec_error_errno(context, params, r, "Failed to acquire cgroup path: %m"); } - r = cg_attach_everywhere(params->cgroup_supported, p, 0, NULL, NULL); + r = cg_attach_everywhere(params->cgroup_supported, p, 0); if (r == -EUCLEAN) { *exit_status = EXIT_CGROUP; return log_exec_error_errno(context, params, r, diff --git a/src/core/unit.c b/src/core/unit.c index be29a4d9ef..b205585054 100644 --- a/src/core/unit.c +++ b/src/core/unit.c @@ -5424,7 +5424,7 @@ int unit_fork_helper_process(Unit *u, const char *name, PidRef *ret) { (void) ignore_signals(SIGPIPE); if (crt->cgroup_path) { - r = cg_attach_everywhere(u->manager->cgroup_supported, crt->cgroup_path, 0, NULL, NULL); + r = cg_attach_everywhere(u->manager->cgroup_supported, crt->cgroup_path, 0); if (r < 0) { log_unit_error_errno(u, r, "Failed to join unit cgroup %s: %m", empty_to_root(crt->cgroup_path)); _exit(EXIT_CGROUP); diff --git a/src/shared/cgroup-setup.c b/src/shared/cgroup-setup.c index 093b6d0d22..63ac4bc3a7 100644 --- a/src/shared/cgroup-setup.c +++ b/src/shared/cgroup-setup.c @@ -788,9 +788,12 @@ int cg_create_everywhere(CGroupMask supported, CGroupMask mask, const char *path return created; } -int cg_attach_everywhere(CGroupMask supported, const char *path, pid_t pid, cg_migrate_callback_t path_callback, void *userdata) { +int cg_attach_everywhere(CGroupMask supported, const char *path, pid_t pid) { int r; + assert(path); + assert(pid >= 0); + r = cg_attach(SYSTEMD_CGROUP_CONTROLLER, path, pid); if (r < 0) return r; @@ -806,7 +809,6 @@ int cg_attach_everywhere(CGroupMask supported, const char *path, pid_t pid, cg_m for (CGroupController c = 0; c < _CGROUP_CONTROLLER_MAX; c++) { CGroupMask bit = CGROUP_CONTROLLER_TO_MASK(c); - const char *p = NULL; if (!FLAGS_SET(supported, bit)) continue; @@ -814,12 +816,7 @@ int cg_attach_everywhere(CGroupMask supported, const char *path, pid_t pid, cg_m if (FLAGS_SET(done, bit)) continue; - if (path_callback) - p = path_callback(bit, userdata); - if (!p) - p = path; - - (void) cg_attach_fallback(cgroup_controller_to_string(c), p, pid); + (void) cg_attach_fallback(cgroup_controller_to_string(c), path, pid); done |= CGROUP_MASK_EXTEND_JOINED(bit); } diff --git a/src/shared/cgroup-setup.h b/src/shared/cgroup-setup.h index 283ab6757c..d5ded0eaae 100644 --- a/src/shared/cgroup-setup.h +++ b/src/shared/cgroup-setup.h @@ -28,13 +28,17 @@ int cg_create_and_attach(const char *controller, const char *path, pid_t pid); int cg_set_access(const char *controller, const char *path, uid_t uid, gid_t gid); int cg_set_access_recursive(const char *controller, const char *path, uid_t uid, gid_t gid); +int cg_create_everywhere(CGroupMask supported, CGroupMask mask, const char *path); +int cg_attach_everywhere(CGroupMask supported, const char *path, pid_t pid); +int cg_trim_everywhere(CGroupMask supported, const char *path, bool delete_root); +int cg_enable_everywhere(CGroupMask supported, CGroupMask mask, const char *p, CGroupMask *ret_result_mask); + int cg_migrate(const char *cfrom, const char *pfrom, const char *cto, const char *pto, CGroupFlags flags); + +typedef const char* (*cg_migrate_callback_t)(CGroupMask mask, void *userdata); + +/* CGroup V1 specific */ int cg_migrate_recursive(const char *cfrom, const char *pfrom, const char *cto, const char *pto, CGroupFlags flags); int cg_migrate_recursive_fallback(const char *cfrom, const char *pfrom, const char *cto, const char *pto, CGroupFlags flags); - -int cg_create_everywhere(CGroupMask supported, CGroupMask mask, const char *path); -int cg_attach_everywhere(CGroupMask supported, const char *path, pid_t pid, cg_migrate_callback_t callback, void *userdata); int cg_migrate_v1_controllers(CGroupMask supported, CGroupMask mask, const char *from, cg_migrate_callback_t to_callback, void *userdata); -int cg_trim_everywhere(CGroupMask supported, const char *path, bool delete_root); int cg_trim_v1_controllers(CGroupMask supported, CGroupMask mask, const char *path, bool delete_root); -int cg_enable_everywhere(CGroupMask supported, CGroupMask mask, const char *p, CGroupMask *ret_result_mask); diff --git a/src/shared/tests.c b/src/shared/tests.c index e62795cb77..dbafed92c5 100644 --- a/src/shared/tests.c +++ b/src/shared/tests.c @@ -291,7 +291,7 @@ static int enter_cgroup(char **ret_cgroup, bool enter_subroot) { if (r < 0) return r; - r = cg_attach_everywhere(supported, cgroup_subroot, 0, NULL, NULL); + r = cg_attach_everywhere(supported, cgroup_subroot, 0); if (r < 0) return r; diff --git a/src/test/test-bpf-devices.c b/src/test/test-bpf-devices.c index f1db021c94..3993c35aa4 100644 --- a/src/test/test-bpf-devices.c +++ b/src/test/test-bpf-devices.c @@ -300,7 +300,7 @@ int main(int argc, char *argv[]) { ASSERT_OK(path_extract_directory(cgroup, &parent)); ASSERT_OK(cg_mask_supported(&supported)); - r = cg_attach_everywhere(supported, parent, 0, NULL, NULL); + r = cg_attach_everywhere(supported, parent, 0); ASSERT_OK(r); return 0; -- 2.25.1