cgroup: convert all non-memcg controllers to the new cftype interface
Convert debug, freezer, cpuset, cpu_cgroup, cpuacct, net_prio, blkio, net_cls and device controllers to use the new cftype based interface. Termination entry is added to cftype arrays and populate callbacks are replaced with cgroup_subsys->base_cftypes initializations. This is functionally identical transformation. There shouldn't be any visible behavior change. memcg is rather special and will be converted separately. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Li Zefan <lizf@cn.fujitsu.com> Cc: Paul Menage <paul@paulmenage.org> Cc: Ingo Molnar <mingo@elte.hu> Cc: Peter Zijlstra <peterz@infradead.org> Cc: "David S. Miller" <davem@davemloft.net> Cc: Vivek Goyal <vgoyal@redhat.com>
This commit is contained in:
parent
676f7c8f84
commit
4baf6e3325
8 changed files with 29 additions and 76 deletions
|
@ -358,24 +358,19 @@ static int freezer_write(struct cgroup *cgroup,
|
|||
static struct cftype files[] = {
|
||||
{
|
||||
.name = "state",
|
||||
.flags = CFTYPE_NOT_ON_ROOT,
|
||||
.read_seq_string = freezer_read,
|
||||
.write_string = freezer_write,
|
||||
},
|
||||
{ } /* terminate */
|
||||
};
|
||||
|
||||
static int freezer_populate(struct cgroup_subsys *ss, struct cgroup *cgroup)
|
||||
{
|
||||
if (!cgroup->parent)
|
||||
return 0;
|
||||
return cgroup_add_files(cgroup, ss, files, ARRAY_SIZE(files));
|
||||
}
|
||||
|
||||
struct cgroup_subsys freezer_subsys = {
|
||||
.name = "freezer",
|
||||
.create = freezer_create,
|
||||
.destroy = freezer_destroy,
|
||||
.populate = freezer_populate,
|
||||
.subsys_id = freezer_subsys_id,
|
||||
.can_attach = freezer_can_attach,
|
||||
.fork = freezer_fork,
|
||||
.base_cftypes = files,
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue