chiark / gitweb /
Fixed gawk script for git-tar target.
[elogind.git] / src / basic / cgroup-util.c
index 92d09f0b5cf8248dbeae92d4dc3b0d681e396519..5dc631eee410a97a8fa6e277f20a781a5dabd414 100644 (file)
@@ -297,6 +297,10 @@ int cg_migrate(const char *cfrom, const char *pfrom, const char *cto, const char
 
         my_pid = getpid();
 
+        log_debug_elogind("Migrating \"%s\"/\"%s\" to \"%s\"/\"%s\" (%s)",
+                          cfrom, pfrom, cto, pto,
+                          ignore_self ? "ignoring self" : "watching self");
+
         do {
                 _cleanup_fclose_ FILE *f = NULL;
                 pid_t pid = 0;
@@ -1199,10 +1203,11 @@ int cg_shift_path(const char *cgroup, const char *root, const char **shifted) {
                         return r;
 
                 root = rt;
+                log_debug_elogind("Determined root path: \"%s\"", root);
         }
 
         p = path_startswith(cgroup, root);
-        if (p && p > cgroup)
+        if (p && p[0] && (p > cgroup))
                 *shifted = p - 1;
         else
                 *shifted = cgroup;
@@ -1222,6 +1227,8 @@ int cg_pid_get_path_shifted(pid_t pid, const char *root, char **cgroup) {
         if (r < 0)
                 return r;
 
+        log_debug_elogind("Shifting path: \"%s\" (PID %u, root: \"%s\")",
+                          raw, pid, root ? root : "NULL");
         r = cg_shift_path(raw, root, &c);
         if (r < 0)
                 return r;
@@ -1238,6 +1245,7 @@ int cg_pid_get_path_shifted(pid_t pid, const char *root, char **cgroup) {
 
                 *cgroup = n;
         }
+        log_debug_elogind("Resulting cgroup:\"%s\"", *cgroup);
 
         return 0;
 }
@@ -1522,6 +1530,7 @@ int cg_path_get_session(const char *path, char **session) {
         const char *e, *n, *start;
 
         assert(path);
+        log_debug_elogind("path is \"%s\"", path);
         assert(path[0] == '/');
 
         e = path + 1;
@@ -1539,6 +1548,7 @@ int cg_path_get_session(const char *path, char **session) {
         if (session) {
                 char *rr;
 
+                log_debug_elogind("found session: \"%s\"", start);
                 rr = strdup(start);
                 if (!rr)
                         return -ENOMEM;
@@ -1897,7 +1907,6 @@ int cg_create_everywhere(CGroupMask supported, CGroupMask mask, const char *path
 
         return 0;
 }
-#endif // 0
 
 int cg_attach_everywhere(CGroupMask supported, const char *path, pid_t pid, cg_migrate_callback_t path_callback, void *userdata) {
         CGroupController c;
@@ -1932,8 +1941,6 @@ int cg_attach_everywhere(CGroupMask supported, const char *path, pid_t pid, cg_m
         return 0;
 }
 
-/// UNNEEDED by elogind
-#if 0
 int cg_attach_many_everywhere(CGroupMask supported, const char *path, Set* pids, cg_migrate_callback_t path_callback, void *userdata) {
         Iterator i;
         void *pidp;
@@ -2171,7 +2178,7 @@ int cg_unified(void) {
         else if (F_TYPE_EQUAL(fs.f_type, TMPFS_MAGIC))
 #else
         if (F_TYPE_EQUAL(fs.f_type, TMPFS_MAGIC))
-#endif // elogind
+#endif // 0
                 unified_cache = false;
         else
                 return -ENOEXEC;
@@ -2227,7 +2234,6 @@ int cg_enable_everywhere(CGroupMask supported, CGroupMask mask, const char *p) {
 
         return 0;
 }
-#endif // 0
 
 bool cg_is_unified_wanted(void) {
         static thread_local int wanted = -1;
@@ -2261,8 +2267,6 @@ bool cg_is_unified_wanted(void) {
         }
 }
 
-/// UNNEEDED by elogind
-#if 0
 bool cg_is_legacy_wanted(void) {
         return !cg_is_unified_wanted();
 }