cgroup: make css_tryget_online_from_dir() also recognize cgroup2 fs
authorTejun Heo <tj@kernel.org>
Tue, 23 Feb 2016 15:00:51 +0000 (10:00 -0500)
committerTejun Heo <tj@kernel.org>
Tue, 23 Feb 2016 15:00:51 +0000 (10:00 -0500)
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>
kernel/cgroup.c

index afbed523b22f949a460da5b138d7ca7374785a75..2b114368666c23651fe8fa5d2a4117cc971d204b 100644 (file)
@@ -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();