proc: introduce proc_create_single{,_data}
Variants of proc_create{,_data} that directly take a seq_file show callback and drastically reduces the boilerplate code in the callers. All trivial callers converted over. Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
@@ -218,9 +218,9 @@ extern const struct proc_ns_operations cgroupns_operations;
|
||||
* cgroup-v1.c
|
||||
*/
|
||||
extern struct cftype cgroup1_base_files[];
|
||||
extern const struct file_operations proc_cgroupstats_operations;
|
||||
extern struct kernfs_syscall_ops cgroup1_kf_syscall_ops;
|
||||
|
||||
int proc_cgroupstats_show(struct seq_file *m, void *v);
|
||||
bool cgroup1_ssid_disabled(int ssid);
|
||||
void cgroup1_pidlist_destroy_all(struct cgroup *cgrp);
|
||||
void cgroup1_release_agent(struct work_struct *work);
|
||||
|
@@ -682,7 +682,7 @@ struct cftype cgroup1_base_files[] = {
|
||||
};
|
||||
|
||||
/* Display information about each subsystem and each hierarchy */
|
||||
static int proc_cgroupstats_show(struct seq_file *m, void *v)
|
||||
int proc_cgroupstats_show(struct seq_file *m, void *v)
|
||||
{
|
||||
struct cgroup_subsys *ss;
|
||||
int i;
|
||||
@@ -705,18 +705,6 @@ static int proc_cgroupstats_show(struct seq_file *m, void *v)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int cgroupstats_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
return single_open(file, proc_cgroupstats_show, NULL);
|
||||
}
|
||||
|
||||
const struct file_operations proc_cgroupstats_operations = {
|
||||
.open = cgroupstats_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = single_release,
|
||||
};
|
||||
|
||||
/**
|
||||
* cgroupstats_build - build and fill cgroupstats
|
||||
* @stats: cgroupstats to fill information into
|
||||
|
@@ -5335,7 +5335,7 @@ int __init cgroup_init(void)
|
||||
WARN_ON(sysfs_create_mount_point(fs_kobj, "cgroup"));
|
||||
WARN_ON(register_filesystem(&cgroup_fs_type));
|
||||
WARN_ON(register_filesystem(&cgroup2_fs_type));
|
||||
WARN_ON(!proc_create("cgroups", 0, NULL, &proc_cgroupstats_operations));
|
||||
WARN_ON(!proc_create_single("cgroups", 0, NULL, proc_cgroupstats_show));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user