diff options
author | Tejun Heo <tj@kernel.org> | 2016-02-23 10:00:51 -0500 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2016-02-23 10:00:51 -0500 |
commit | f17fc25f2b4f4bd8edafe36af6d7379eb9db27a0 (patch) | |
tree | 06e59c3d41937f7be60b555bf8141a0bed789337 /kernel/cgroup.c | |
parent | b38e42e962dbc2fbc3839ce70750881db7c9277e (diff) | |
download | op-kernel-dev-f17fc25f2b4f4bd8edafe36af6d7379eb9db27a0.zip op-kernel-dev-f17fc25f2b4f4bd8edafe36af6d7379eb9db27a0.tar.gz |
cgroup: make css_tryget_online_from_dir() also recognize cgroup2 fs
The function currently returns -EBADF for a directory on the default
hierarchy. Make it also recognize cgroup2_fs_type. This will be used
for perf_event cgroup2 support.
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'kernel/cgroup.c')
-rw-r--r-- | kernel/cgroup.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/cgroup.c b/kernel/cgroup.c index afbed52..2b11436 100644 --- a/kernel/cgroup.c +++ b/kernel/cgroup.c @@ -5781,12 +5781,13 @@ struct cgroup_subsys_state *css_tryget_online_from_dir(struct dentry *dentry, struct cgroup_subsys *ss) { struct kernfs_node *kn = kernfs_node_from_dentry(dentry); + struct file_system_type *s_type = dentry->d_sb->s_type; struct cgroup_subsys_state *css = NULL; struct cgroup *cgrp; /* is @dentry a cgroup dir? */ - if (dentry->d_sb->s_type != &cgroup_fs_type || !kn || - kernfs_type(kn) != KERNFS_DIR) + if ((s_type != &cgroup_fs_type && s_type != &cgroup2_fs_type) || + !kn || kernfs_type(kn) != KERNFS_DIR) return ERR_PTR(-EBADF); rcu_read_lock(); |