cgroup-setup: drop unused cg_migrate_callback for cg_attach_everywhere()
authorMike Yuan <me@yhndnzj.com>
Tue, 30 Jul 2024 13:40:25 +0000 (15:40 +0200)
committerMike Yuan <me@yhndnzj.com>
Fri, 2 Aug 2024 12:47:39 +0000 (14:47 +0200)
While at it, move the typedef from cgroup-util to -setup.

src/basic/cgroup-util.h
src/core/exec-invoke.c
src/core/unit.c
src/shared/cgroup-setup.c
src/shared/cgroup-setup.h
src/shared/tests.c
src/test/test-bpf-devices.c

index 84009b47c1e199a0dd086101b908f03e642c7a2e..28c11ef3e26889662c7bf4e5f12b589fb664240f 100644 (file)
@@ -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);
index 71b5a586768a8bf04659bee0eb1b97bb47e867e1..cf17824fe84ec12d16c267bd76a06cc2f842ea4f 100644 (file)
@@ -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,
index be29a4d9ef0ffab81ed61ca6764b7ee38fcb38a4..b2055850544a92520d667026eefe4a8b5b422eda 100644 (file)
@@ -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);
index 093b6d0d22e6c5ca9ec4b2524eb51c71c9fced56..63ac4bc3a71fa4544df6c7651afcf19bc15f0201 100644 (file)
@@ -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);
         }
 
index 283ab6757c93649cf25bcbe38f8324461c7bd18e..d5ded0eaaebc0313f63de0137dc935d9fca9419f 100644 (file)
@@ -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);
index e62795cb771372b96de4ef7b213529ce9950eef7..dbafed92c58e6f4476bec9f43aeaa3d9480af13d 100644 (file)
@@ -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;
 
index f1db021c94d138a522246f1a0ce99fed492f1248..3993c35aa4b0dd09a8bdd3f92aa1457f0b65d88b 100644 (file)
@@ -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;