diff options
author | Lennart Poettering <lennart@poettering.net> | 2013-09-23 21:56:05 -0500 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2013-09-25 03:38:17 +0200 |
commit | 13b84ec7df103ce388910a2b868fe1668c1e27ef (patch) | |
tree | 773d34a85343a61b3368ef5a67a156ffcf14689a /src/core/execute.c | |
parent | 8bd94f7a03032ac9218e88e8e099e974627a3bcb (diff) |
cgroup: if we do a cgroup operation then do something on all supported controllers
Previously we did operations like attach, trim or migrate only on the
controllers that were enabled for a specific unit. With this changes we
will now do them for all supproted controllers, and fall back to all
possible prefix paths if the specified paths do not exist.
This fixes issues if a controller is being disabled for a unit where it
was previously enabled, and makes sure that all processes stay as "far
down" the tree as groups exist.
Diffstat (limited to 'src/core/execute.c')
-rw-r--r-- | src/core/execute.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/core/execute.c b/src/core/execute.c index f840642d14..0bfa41836a 100644 --- a/src/core/execute.c +++ b/src/core/execute.c @@ -1017,7 +1017,7 @@ int exec_spawn(ExecCommand *command, bool apply_chroot, bool apply_tty_stdin, bool confirm_spawn, - CGroupControllerMask cgroup_mask, + CGroupControllerMask cgroup_supported, const char *cgroup_path, const char *unit_id, int idle_pipe[4], @@ -1198,7 +1198,7 @@ int exec_spawn(ExecCommand *command, } if (cgroup_path) { - err = cg_attach_with_mask(cgroup_mask, cgroup_path, 0); + err = cg_attach_everywhere(cgroup_supported, cgroup_path, 0); if (err < 0) { r = EXIT_CGROUP; goto fail_child; |