chiark / gitweb /
Prep v225: Added needed udev support and re-enabled some masked cgroup functions.
[elogind.git] / src / basic / cgroup-util.c
index ba9eeb92165eea79522bffaa60bf681c28fac1eb..b3e92763cde20ca9526f83b2dfce79319f51f1d0 100644 (file)
@@ -615,6 +615,8 @@ int cg_create(const char *controller, const char *path) {
         return 1;
 }
 
+/// UNNEEDED by elogind
+#if 0
 int cg_create_and_attach(const char *controller, const char *path, pid_t pid) {
         int r, q;
 
@@ -631,6 +633,7 @@ int cg_create_and_attach(const char *controller, const char *path, pid_t pid) {
         /* This does not remove the cgroup on failure */
         return r;
 }
+#endif // 0
 
 int cg_attach(const char *controller, const char *path, pid_t pid) {
         _cleanup_free_ char *fs = NULL;
@@ -676,6 +679,8 @@ int cg_attach_fallback(const char *controller, const char *path, pid_t pid) {
         return 0;
 }
 
+/// UNNEEDED by elogind
+#if 0
 int cg_set_group_access(
                 const char *controller,
                 const char *path,
@@ -732,6 +737,7 @@ int cg_set_task_access(
 
         return chmod_and_chown(procs, mode, uid, gid);
 }
+#endif // 0
 
 int cg_pid_get_path(const char *controller, pid_t pid, char **path) {
         _cleanup_fclose_ FILE *f = NULL;
@@ -748,7 +754,7 @@ int cg_pid_get_path(const char *controller, pid_t pid, char **path) {
 
                 controller = normalize_controller(controller);
         } else
-                controller = SYSTEMD_CGROUP_CONTROLLER;
+                controller = ELOGIND_CGROUP_CONTROLLER;
 
         fs = procfs_file_alloca(pid, "cgroup");
 
@@ -806,6 +812,8 @@ int cg_pid_get_path(const char *controller, pid_t pid, char **path) {
         return -ENOENT;
 }
 
+/// UNNEEDED by elogind
+#if 0
 int cg_install_release_agent(const char *controller, const char *agent) {
         _cleanup_free_ char *fs = NULL, *contents = NULL;
         char *sc;
@@ -829,14 +837,12 @@ int cg_install_release_agent(const char *controller, const char *agent) {
         } else if (!streq(sc, agent))
                 return -EEXIST;
 
-        free(fs);
-        fs = NULL;
+        fs = mfree(fs);
         r = cg_get_path(controller, NULL, "notify_on_release", &fs);
         if (r < 0)
                 return r;
 
-        free(contents);
-        contents = NULL;
+        contents = mfree(contents);
         r = read_one_line_file(fs, &contents);
         if (r < 0)
                 return r;
@@ -868,8 +874,7 @@ int cg_uninstall_release_agent(const char *controller) {
         if (r < 0)
                 return r;
 
-        free(fs);
-        fs = NULL;
+        fs = mfree(fs);
 
         r = cg_get_path(controller, NULL, "release_agent", &fs);
         if (r < 0)
@@ -881,6 +886,7 @@ int cg_uninstall_release_agent(const char *controller) {
 
         return 0;
 }
+#endif // 0
 
 int cg_is_empty(const char *controller, const char *path, bool ignore_self) {
         _cleanup_fclose_ FILE *f = NULL;
@@ -1060,7 +1066,7 @@ 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 ? c : ELOGIND_CGROUP_CONTROLLER, p ? p : "/", NULL, result);
 }
 
 int cg_get_root_path(char **path) {
@@ -1069,7 +1075,7 @@ int cg_get_root_path(char **path) {
 
         assert(path);
 
-        r = cg_pid_get_path(SYSTEMD_CGROUP_CONTROLLER, 1, &p);
+        r = cg_pid_get_path(ELOGIND_CGROUP_CONTROLLER, 1, &p);
         if (r < 0)
                 return r;
 
@@ -1117,7 +1123,7 @@ int cg_pid_get_path_shifted(pid_t pid, const char *root, char **cgroup) {
         assert(pid >= 0);
         assert(cgroup);
 
-        r = cg_pid_get_path(SYSTEMD_CGROUP_CONTROLLER, pid, &raw);
+        r = cg_pid_get_path(ELOGIND_CGROUP_CONTROLLER, pid, &raw);
         if (r < 0)
                 return r;
 
@@ -1351,8 +1357,6 @@ int cg_path_get_user_unit(const char *path, char **ret) {
         return cg_path_get_unit(t, ret);
 }
 
-/// UNNEDED by elogind
-#if 0
 int cg_pid_get_user_unit(pid_t pid, char **unit) {
         _cleanup_free_ char *cgroup = NULL;
         int r;
@@ -1365,7 +1369,6 @@ int cg_pid_get_user_unit(pid_t pid, char **unit) {
 
         return cg_path_get_user_unit(cgroup, unit);
 }
-#endif // 0
 
 int cg_path_get_machine_name(const char *path, char **machine) {
         _cleanup_free_ char *u = NULL, *sl = NULL;
@@ -1382,8 +1385,6 @@ int cg_path_get_machine_name(const char *path, char **machine) {
         return readlink_malloc(sl, machine);
 }
 
-/// UNNEDED by elogind
-#if 0
 int cg_pid_get_machine_name(pid_t pid, char **machine) {
         _cleanup_free_ char *cgroup = NULL;
         int r;
@@ -1396,7 +1397,6 @@ int cg_pid_get_machine_name(pid_t pid, char **machine) {
 
         return cg_path_get_machine_name(cgroup, machine);
 }
-#endif // 0
 
 int cg_path_get_session(const char *path, char **session) {
         _cleanup_free_ char *unit = NULL;
@@ -1469,8 +1469,6 @@ int cg_path_get_owner_uid(const char *path, uid_t *uid) {
         return 0;
 }
 
-/// UNNEDED by elogind
-#if 0
 int cg_pid_get_owner_uid(pid_t pid, uid_t *uid) {
         _cleanup_free_ char *cgroup = NULL;
         int r;
@@ -1481,7 +1479,6 @@ int cg_pid_get_owner_uid(pid_t pid, uid_t *uid) {
 
         return cg_path_get_owner_uid(cgroup, uid);
 }
-#endif // 0
 
 int cg_path_get_slice(const char *p, char **slice) {
         const char *e = NULL;
@@ -1713,7 +1710,6 @@ int cg_slice_to_path(const char *unit, char **ret) {
 
         return 0;
 }
-#endif // 0
 
 int cg_set_attribute(const char *controller, const char *path, const char *attribute, const char *value) {
         _cleanup_free_ char *p = NULL;
@@ -1736,6 +1732,7 @@ int cg_get_attribute(const char *controller, const char *path, const char *attri
 
         return read_one_line_file(p, ret);
 }
+#endif // 0
 
 static const char mask_names[] =
         "cpu\0"
@@ -1744,6 +1741,8 @@ static const char mask_names[] =
         "memory\0"
         "devices\0";
 
+/// UNNEEDED by elogind
+#if 0
 int cg_create_everywhere(CGroupControllerMask supported, CGroupControllerMask mask, const char *path) {
         CGroupControllerMask bit = 1;
         const char *n;
@@ -1754,7 +1753,7 @@ int cg_create_everywhere(CGroupControllerMask supported, CGroupControllerMask ma
          * in all others */
 
         /* First create the cgroup in our own hierarchy. */
-        r = cg_create(SYSTEMD_CGROUP_CONTROLLER, path);
+        r = cg_create(ELOGIND_CGROUP_CONTROLLER, path);
         if (r < 0)
                 return r;
 
@@ -1770,13 +1769,14 @@ int cg_create_everywhere(CGroupControllerMask supported, CGroupControllerMask ma
 
         return 0;
 }
+#endif // 0
 
 int cg_attach_everywhere(CGroupControllerMask supported, const char *path, pid_t pid, cg_migrate_callback_t path_callback, void *userdata) {
         CGroupControllerMask bit = 1;
         const char *n;
         int r;
 
-        r = cg_attach(SYSTEMD_CGROUP_CONTROLLER, path, pid);
+        r = cg_attach(ELOGIND_CGROUP_CONTROLLER, path, pid);
         if (r < 0)
                 return r;
 
@@ -1800,6 +1800,8 @@ int cg_attach_everywhere(CGroupControllerMask supported, const char *path, pid_t
         return 0;
 }
 
+/// UNNEEDED by elogind
+#if 0
 int cg_attach_many_everywhere(CGroupControllerMask supported, const char *path, Set* pids, cg_migrate_callback_t path_callback, void *userdata) {
         Iterator i;
         void *pidp;
@@ -1823,7 +1825,7 @@ int cg_migrate_everywhere(CGroupControllerMask supported, const char *from, cons
         int r;
 
         if (!path_equal(from, to))  {
-                r = cg_migrate_recursive(SYSTEMD_CGROUP_CONTROLLER, from, SYSTEMD_CGROUP_CONTROLLER, to, false, true);
+                r = cg_migrate_recursive(ELOGIND_CGROUP_CONTROLLER, from, ELOGIND_CGROUP_CONTROLLER, to, false, true);
                 if (r < 0)
                         return r;
         }
@@ -1838,7 +1840,7 @@ int cg_migrate_everywhere(CGroupControllerMask supported, const char *from, cons
                         if (!p)
                                 p = to;
 
-                        cg_migrate_recursive_fallback(SYSTEMD_CGROUP_CONTROLLER, to, n, p, false, false);
+                        cg_migrate_recursive_fallback(ELOGIND_CGROUP_CONTROLLER, to, n, p, false, false);
                 }
 
                 bit <<= 1;
@@ -1852,7 +1854,7 @@ int cg_trim_everywhere(CGroupControllerMask supported, const char *path, bool de
         const char *n;
         int r;
 
-        r = cg_trim(SYSTEMD_CGROUP_CONTROLLER, path, delete_root);
+        r = cg_trim(ELOGIND_CGROUP_CONTROLLER, path, delete_root);
         if (r < 0)
                 return r;
 
@@ -1930,3 +1932,4 @@ int cg_kernel_controllers(Set *controllers) {
 
         return 0;
 }
+#endif // 0