[PATCH] cgroup: Show control files in cgroup2 root after mount

From: Waiman Long
Date: Tue Jul 18 2017 - 15:32:42 EST


It was found that when a cgroup2 filesystem was mounted, control
files other than the base cgroup.* ones were not shown in the root
directory. They were shown only after some controllers were activated
in the root's cgroup.subtree_control file.

This was caused by a lack of the kernfs_activate() call which was fixed
by this patch.

Signed-off-by: Waiman Long <longman@xxxxxxxxxx>
---
kernel/cgroup/cgroup.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
index 89a23c6..fb1893b 100644
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
@@ -2024,8 +2024,10 @@ static struct dentry *cgroup_mount(struct file_system_type *fs_type,

dentry = cgroup_do_mount(&cgroup2_fs_type, flags, &cgrp_dfl_root,
CGROUP2_SUPER_MAGIC, ns);
- if (!IS_ERR(dentry))
+ if (!IS_ERR(dentry)) {
apply_cgroup_root_flags(root_flags);
+ kernfs_activate(cgrp_dfl_root.cgrp.kn);
+ }
} else {
dentry = cgroup1_mount(&cgroup_fs_type, flags, data,
CGROUP_SUPER_MAGIC, ns);
--
1.8.3.1