|
@@ -712,7 +712,7 @@ static int rebind_subsystems(struct cgroupfs_root *root,
|
|
|
BUG_ON(dummytop->subsys[i]->cgroup != dummytop);
|
|
|
cgrp->subsys[i] = dummytop->subsys[i];
|
|
|
cgrp->subsys[i]->cgroup = cgrp;
|
|
|
- list_add(&ss->sibling, &root->subsys_list);
|
|
|
+ list_move(&ss->sibling, &root->subsys_list);
|
|
|
ss->root = root;
|
|
|
if (ss->bind)
|
|
|
ss->bind(ss, cgrp);
|
|
@@ -726,7 +726,7 @@ static int rebind_subsystems(struct cgroupfs_root *root,
|
|
|
dummytop->subsys[i]->cgroup = dummytop;
|
|
|
cgrp->subsys[i] = NULL;
|
|
|
subsys[i]->root = &rootnode;
|
|
|
- list_del(&ss->sibling);
|
|
|
+ list_move(&ss->sibling, &rootnode.subsys_list);
|
|
|
} else if (bit & final_bits) {
|
|
|
/* Subsystem state should already exist */
|
|
|
BUG_ON(!cgrp->subsys[i]);
|
|
@@ -2521,6 +2521,7 @@ static void __init cgroup_init_subsys(struct cgroup_subsys *ss)
|
|
|
printk(KERN_INFO "Initializing cgroup subsys %s\n", ss->name);
|
|
|
|
|
|
/* Create the top cgroup state for this subsystem */
|
|
|
+ list_add(&ss->sibling, &rootnode.subsys_list);
|
|
|
ss->root = &rootnode;
|
|
|
css = ss->create(ss, dummytop);
|
|
|
/* We don't handle early failures gracefully */
|