The patch titled Subject: fs: proc: use DEFINE_PROC_SHOW_ATTRIBUTE() to simplify the code has been added to the -mm tree. Its filename is fs-proc-use-define_proc_show_attribute-to-simplify-the-code.patch This patch should soon appear at https://ozlabs.org/~akpm/mmots/broken-out/fs-proc-use-define_proc_show_attribute-to-simplify-the-code.patch and later at https://ozlabs.org/~akpm/mmotm/broken-out/fs-proc-use-define_proc_show_attribute-to-simplify-the-code.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Muchun Song <songmuchun@xxxxxxxxxxxxx> Subject: fs: proc: use DEFINE_PROC_SHOW_ATTRIBUTE() to simplify the code DEFINE_PROC_SHOW_ATTRIBUTE() can be used here to simplify the code. Link: https://lkml.kernel.org/r/20211101093518.86845-5-songmuchun@xxxxxxxxxxxxx Signed-off-by: Muchun Song <songmuchun@xxxxxxxxxxxxx> Cc: Alexey Dobriyan <adobriyan@xxxxxxxxx> Cc: Alexey Gladkov <gladkov.alexey@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- fs/cifs/cifs_debug.c | 17 ++--------------- fs/nfsd/stats.c | 15 ++------------- net/sunrpc/stats.c | 15 ++------------- 3 files changed, 6 insertions(+), 41 deletions(-) --- a/fs/cifs/cifs_debug.c~fs-proc-use-define_proc_show_attribute-to-simplify-the-code +++ a/fs/cifs/cifs_debug.c @@ -1007,7 +1007,7 @@ static const struct proc_ops cifs_securi }; /* To make it easier to debug, can help to show mount params */ -static int cifs_mount_params_proc_show(struct seq_file *m, void *v) +static int cifs_mount_params_show(struct seq_file *m, void *v) { const struct fs_parameter_spec *p; const char *type; @@ -1035,20 +1035,7 @@ static int cifs_mount_params_proc_show(s return 0; } - -static int cifs_mount_params_proc_open(struct inode *inode, struct file *file) -{ - return single_open(file, cifs_mount_params_proc_show, NULL); -} - -static const struct proc_ops cifs_mount_params_proc_ops = { - .proc_open = cifs_mount_params_proc_open, - .proc_read = seq_read, - .proc_lseek = seq_lseek, - .proc_release = single_release, - /* No need for write for now */ - /* .proc_write = cifs_mount_params_proc_write, */ -}; +DEFINE_PROC_SHOW_ATTRIBUTE(cifs_mount_params); #else inline void cifs_proc_init(void) --- a/fs/nfsd/stats.c~fs-proc-use-define_proc_show_attribute-to-simplify-the-code +++ a/fs/nfsd/stats.c @@ -32,7 +32,7 @@ struct svc_stat nfsd_svcstats = { .program = &nfsd_program, }; -static int nfsd_proc_show(struct seq_file *seq, void *v) +static int nfsd_show(struct seq_file *seq, void *v) { int i; @@ -71,18 +71,7 @@ static int nfsd_proc_show(struct seq_fil return 0; } - -static int nfsd_proc_open(struct inode *inode, struct file *file) -{ - return single_open(file, nfsd_proc_show, NULL); -} - -static const struct proc_ops nfsd_proc_ops = { - .proc_open = nfsd_proc_open, - .proc_read = seq_read, - .proc_lseek = seq_lseek, - .proc_release = single_release, -}; +DEFINE_PROC_SHOW_ATTRIBUTE(nfsd); int nfsd_percpu_counters_init(struct percpu_counter counters[], int num) { --- a/net/sunrpc/stats.c~fs-proc-use-define_proc_show_attribute-to-simplify-the-code +++ a/net/sunrpc/stats.c @@ -34,7 +34,7 @@ /* * Get RPC client stats */ -static int rpc_proc_show(struct seq_file *seq, void *v) { +static int rpc_show(struct seq_file *seq, void *v) { const struct rpc_stat *statp = seq->private; const struct rpc_program *prog = statp->program; unsigned int i, j; @@ -63,18 +63,7 @@ static int rpc_proc_show(struct seq_file } return 0; } - -static int rpc_proc_open(struct inode *inode, struct file *file) -{ - return single_open(file, rpc_proc_show, inode->i_private); -} - -static const struct proc_ops rpc_proc_ops = { - .proc_open = rpc_proc_open, - .proc_read = seq_read, - .proc_lseek = seq_lseek, - .proc_release = single_release, -}; +DEFINE_PROC_SHOW_ATTRIBUTE(rpc); /* * Get RPC server stats _ Patches currently in -mm which might be from songmuchun@xxxxxxxxxxxxx are mm-slab-make-slab-iterator-functions-static.patch mm-memcontrol-make-cgroup_memory_nokmem-static.patch fs-proc-store-pde-data-into-inode-i_private.patch fs-proc-replace-pde_datainode-with-inode-i_private.patch fs-proc-remove-pde_data.patch fs-proc-use-define_proc_show_attribute-to-simplify-the-code.patch