summaryrefslogtreecommitdiff
path: root/ipc
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2014-03-19 10:23:54 -0400
committerTejun Heo <tj@kernel.org>2014-03-19 10:23:54 -0400
commit5df3603229e520442502ff7fc5715c77bbf61912 (patch)
tree7e5191604fd4ddf110d523d062d29aad08753aa7 /ipc
parentfdce6bf8c5b6968eb9b96ecc5fe400514a604902 (diff)
downloadlwn-5df3603229e520442502ff7fc5715c77bbf61912.tar.gz
lwn-5df3603229e520442502ff7fc5715c77bbf61912.zip
cgroup: treat cgroup_dummy_root as an equivalent hierarchy during rebinding
Currently, while rebinding, cgroup_dummy_root serves as the anchor point. In addition to the target root, rebind_subsystems() takes @added_mask and @removed_mask. The subsystems specified in the former are expected to be on the dummy root and then moved to the target root. The ones in the latter are moved from non-dummy root to dummy. Now that the dummy root is a fully functional one and we're planning to use it for the default unified hierarchy, this level of distinction between dummy and non-dummy roots is quite awkward. This patch updates rebind_subsystems() to take the target root and one subsystem mask and move the specified subsystmes to the target root which may or may not be the dummy root. IOW, unbinding now becomes moving the subsystems to the dummy root and binding to non-dummy root. This makes the dummy root mostly equivalent to other hierarchies in terms of the mechanism of moving subsystems around; however, we still retain all the semantical restrictions so that this patch doesn't introduce any visible behavior differences. Another noteworthy detail is that rebind_subsystems() guarantees that moving a subsystem to the dummy root never fails so that valid unmounting attempts always succeed. This unifies binding and unbinding of subsystems. The invocation points of ->bind() were inconsistent between the two and now moved after whole rebinding is complete. This doesn't break the current users and generally makes more sense. All rebind_subsystems() users are converted accordingly. Note that cgroup_remount() now makes two calls to rebind_subsystems() to bind and then unbind the requested subsystems. This will allow repurposing of the dummy hierarchy as the default unified hierarchy and shouldn't make any userland visible behavior difference. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Li Zefan <lizefan@huawei.com>
Diffstat (limited to 'ipc')
0 files changed, 0 insertions, 0 deletions