From d494229215346119384f03e3bb9f9dcc81401e40 Mon Sep 17 00:00:00 2001 From: Ksawlii Date: Sun, 24 Nov 2024 00:23:43 +0100 Subject: [PATCH] Revert "nfsd: make svc_stat per-network namespace instead of global" This reverts commit 886f600c8d4ba27d1a1d59a6ea42131655b23235. --- fs/nfsd/netns.h | 4 ---- fs/nfsd/nfsctl.c | 2 -- fs/nfsd/nfssvc.c | 2 +- fs/nfsd/stats.c | 10 ++++++---- fs/nfsd/stats.h | 2 ++ 5 files changed, 9 insertions(+), 11 deletions(-) diff --git a/fs/nfsd/netns.h b/fs/nfsd/netns.h index 548422b24..55ab92326 100755 --- a/fs/nfsd/netns.h +++ b/fs/nfsd/netns.h @@ -13,7 +13,6 @@ #include #include #include -#include /* Hash tables for nfs4_clientid state */ #define CLIENT_HASH_BITS 4 @@ -184,9 +183,6 @@ struct nfsd_net { /* Per-netns stats counters */ struct percpu_counter counter[NFSD_STATS_COUNTERS_NUM]; - /* sunrpc svc stats */ - struct svc_stat nfsd_svcstats; - /* longest hash chain seen */ unsigned int longest_chain; diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c index ef0a17d9e..0bc59c990 100755 --- a/fs/nfsd/nfsctl.c +++ b/fs/nfsd/nfsctl.c @@ -1461,8 +1461,6 @@ static __net_init int nfsd_init_net(struct net *net) retval = nfsd_stat_counters_init(nn); if (retval) goto out_repcache_error; - memset(&nn->nfsd_svcstats, 0, sizeof(nn->nfsd_svcstats)); - nn->nfsd_svcstats.program = &nfsd_program; nn->nfsd_versions = NULL; nn->nfsd4_minorversions = NULL; nfsd4_init_leases_net(nn); diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c index 29eb98616..3f02a9a44 100755 --- a/fs/nfsd/nfssvc.c +++ b/fs/nfsd/nfssvc.c @@ -664,7 +664,7 @@ int nfsd_create_serv(struct net *net) if (nfsd_max_blksize == 0) nfsd_max_blksize = nfsd_get_default_max_blksize(); nfsd_reset_versions(nn); - serv = svc_create_pooled(&nfsd_program, &nn->nfsd_svcstats, + serv = svc_create_pooled(&nfsd_program, &nfsd_svcstats, nfsd_max_blksize, nfsd); if (serv == NULL) return -ENOMEM; diff --git a/fs/nfsd/stats.c b/fs/nfsd/stats.c index 7a58dba00..6b2135bfb 100755 --- a/fs/nfsd/stats.c +++ b/fs/nfsd/stats.c @@ -27,6 +27,10 @@ #include "nfsd.h" +struct svc_stat nfsd_svcstats = { + .program = &nfsd_program, +}; + static int nfsd_show(struct seq_file *seq, void *v) { struct net *net = PDE_DATA(file_inode(seq->file)); @@ -52,7 +56,7 @@ static int nfsd_show(struct seq_file *seq, void *v) seq_puts(seq, "\nra 0 0 0 0 0 0 0 0 0 0 0 0\n"); /* show my rpc info */ - svc_seq_show(seq, &nn->nfsd_svcstats); + svc_seq_show(seq, &nfsd_svcstats); #ifdef CONFIG_NFSD_V4 /* Show count for individual nfsv4 operations */ @@ -115,9 +119,7 @@ void nfsd_stat_counters_destroy(struct nfsd_net *nn) void nfsd_proc_stat_init(struct net *net) { - struct nfsd_net *nn = net_generic(net, nfsd_net_id); - - svc_proc_register(net, &nn->nfsd_svcstats, &nfsd_proc_ops); + svc_proc_register(net, &nfsd_svcstats, &nfsd_proc_ops); } void nfsd_proc_stat_shutdown(struct net *net) diff --git a/fs/nfsd/stats.h b/fs/nfsd/stats.h index 14525e854..9b22b1ae9 100755 --- a/fs/nfsd/stats.h +++ b/fs/nfsd/stats.h @@ -10,6 +10,8 @@ #include #include +extern struct svc_stat nfsd_svcstats; + int nfsd_percpu_counters_init(struct percpu_counter *counters, int num); void nfsd_percpu_counters_reset(struct percpu_counter *counters, int num); void nfsd_percpu_counters_destroy(struct percpu_counter *counters, int num);