chiark / gitweb /
cgroup: make cgroup controller name a constant
[elogind.git] / src / unit.c
index c287310a48908474c778d66291164a0218a2c99e..5d51f99966e8deb660cbe28cc3d2324bace7add5 100644 (file)
@@ -973,6 +973,9 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns) {
         if (ns != os && ns == UNIT_MAINTENANCE)
                 log_notice("Unit %s entered maintenance state.", u->meta.id);
 
+        if (UNIT_IS_INACTIVE_OR_MAINTENANCE(ns))
+                cgroup_bonding_trim_list(u->meta.cgroup_bondings, true);
+
         timer_unit_notify(u, ns);
         path_unit_notify(u, ns);
 
@@ -1595,7 +1598,7 @@ int unit_add_cgroup_from_text(Unit *u, const char *name) {
         if (n > 0)
                 controller = strndup(name, n);
         else
-                controller = strdup(u->meta.manager->cgroup_controller);
+                controller = strdup(SYSTEMD_CGROUP_CONTROLLER);
 
         if (!controller) {
                 r = -ENOMEM;
@@ -1644,7 +1647,7 @@ int unit_add_default_cgroup(Unit *u) {
         if (!(b = new0(CGroupBonding, 1)))
                 return -ENOMEM;
 
-        if (!(b->controller = strdup(u->meta.manager->cgroup_controller)))
+        if (!(b->controller = strdup(SYSTEMD_CGROUP_CONTROLLER)))
                 goto fail;
 
         if (!(b->path = default_cgroup_path(u)))
@@ -1669,7 +1672,7 @@ fail:
 CGroupBonding* unit_get_default_cgroup(Unit *u) {
         assert(u);
 
-        return cgroup_bonding_find_list(u->meta.cgroup_bondings, u->meta.manager->cgroup_controller);
+        return cgroup_bonding_find_list(u->meta.cgroup_bondings, SYSTEMD_CGROUP_CONTROLLER);
 }
 
 int unit_load_related_unit(Unit *u, const char *type, Unit **_found) {