@@ -1002,7 +1002,7 @@ static const struct proc_ops cifs_security_flags_proc_ops = {
};
/* 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;
@@ -1030,20 +1030,7 @@ static int cifs_mount_params_proc_show(struct seq_file *m, void *v)
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)
@@ -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_file *seq, void *v)
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)
{
@@ -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 *seq, void *v) {
}
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
DEFINE_PROC_SHOW_ATTRIBUTE() can be used here to simplify the code. Signed-off-by: Muchun Song <songmuchun@bytedance.com> --- fs/cifs/cifs_debug.c | 17 ++--------------- fs/nfsd/stats.c | 15 ++------------- net/sunrpc/stats.c | 15 ++------------- 3 files changed, 6 insertions(+), 41 deletions(-)