aboutsummaryrefslogtreecommitdiffstats
path: root/block/blk-cgroup.c
diff options
context:
space:
mode:
Diffstat (limited to 'block/blk-cgroup.c')
-rw-r--r--block/blk-cgroup.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c
index 60bb049b6106..a6809645d212 100644
--- a/block/blk-cgroup.c
+++ b/block/blk-cgroup.c
@@ -956,16 +956,16 @@ static void blkiocg_destroy(struct cgroup_subsys *subsys, struct cgroup *cgroup)
956static struct cgroup_subsys_state * 956static struct cgroup_subsys_state *
957blkiocg_create(struct cgroup_subsys *subsys, struct cgroup *cgroup) 957blkiocg_create(struct cgroup_subsys *subsys, struct cgroup *cgroup)
958{ 958{
959 struct blkio_cgroup *blkcg, *parent_blkcg; 959 struct blkio_cgroup *blkcg;
960 struct cgroup *parent = cgroup->parent;
960 961
961 if (!cgroup->parent) { 962 if (!parent) {
962 blkcg = &blkio_root_cgroup; 963 blkcg = &blkio_root_cgroup;
963 goto done; 964 goto done;
964 } 965 }
965 966
966 /* Currently we do not support hierarchy deeper than two level (0,1) */ 967 /* Currently we do not support hierarchy deeper than two level (0,1) */
967 parent_blkcg = cgroup_to_blkio_cgroup(cgroup->parent); 968 if (parent != cgroup->top_cgroup)
968 if (css_depth(&parent_blkcg->css) > 0)
969 return ERR_PTR(-EINVAL); 969 return ERR_PTR(-EINVAL);
970 970
971 blkcg = kzalloc(sizeof(*blkcg), GFP_KERNEL); 971 blkcg = kzalloc(sizeof(*blkcg), GFP_KERNEL);