diff options
author | Tejun Heo <htejun@fb.com> | 2016-04-30 16:12:54 -0400 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2016-04-30 16:12:54 -0400 |
commit | ccf78df1fcaad6b215b17981c42eaef380f69c9c (patch) | |
tree | 063fd5c1f27a6829e196bc4823c0c1d54c0b8139 /src/core/unit.h | |
parent | 3fdf9ad7ad7610456fb3ffd8c98a359714df8e3e (diff) |
core: make unit_has_mask_realized() consider controller enable state
unit_has_mask_realized() determines whether the specified unit has its cgroups
set up properly given the desired target_mask; however, on the unified
hierarchy, controllers need to be enabled explicitly for children and the mask
of enabled controllers can deviate from target_mask. Only considering
target_mask in unit_has_mask_realized() can lead to false positives and
skipping enabling the requested controllers.
This patch adds unit->cgroup_enabled_mask to track which controllers are
enabled and updates unit_has_mask_realized() to also consider enable_mask.
Signed-off-by: Tejun Heo <htejun@fb.com>
Diffstat (limited to 'src/core/unit.h')
-rw-r--r-- | src/core/unit.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/core/unit.h b/src/core/unit.h index 5909652976..78f950c051 100644 --- a/src/core/unit.h +++ b/src/core/unit.h @@ -186,6 +186,7 @@ struct Unit { /* Counterparts in the cgroup filesystem */ char *cgroup_path; CGroupMask cgroup_realized_mask; + CGroupMask cgroup_enabled_mask; CGroupMask cgroup_subtree_mask; CGroupMask cgroup_members_mask; int cgroup_inotify_wd; |