v1: https://lore.kernel.org/linux-nfs/cover.1706124811.git.josef@xxxxxxxxxxxxxx/ v2: https://lore.kernel.org/linux-nfs/cover.1706212207.git.josef@xxxxxxxxxxxxxx/ NOTE: there's still one nfs change in here and it's where I dropped pg_stats, I assume that's ok for this series, but I can break it out and then follow up with a removal later if necessary. v2->v3: - Split out the nfs and nfsd related changes into their own patches. - Dropped the change adding sv_stats throuch svc_create() - Changed the th_cnt to be global, re-arranged it's location. v1->v2: - rework the sunprc service creation to take a pointer to the sv_stats. - dropped ->pg_stats from the svc_program. - converted all of the nfsd global stats to per-network namespace. - added the ability to point at a specific rpc_stat for rpc program creation. - converted the rpc stats for nfs to per-network namespace. Josef Bacik (10): sunrpc: don't change ->sv_stats if it doesn't exist nfs: stop setting ->pg_stats for unused stats sunrpc: pass in the sv_stats struct through svc_create_pooled sunrpc: remove ->pg_stats from svc_program sunrpc: use the struct net as the svc proc private nfsd: rename NFSD_NET_* to NFSD_STATS_* nfsd: expose /proc/net/sunrpc/nfsd in net namespaces nfsd: make all of the nfsd stats per-network namespace nfsd: remove nfsd_stats, make th_cnt a global counter nfsd: make svc_stat per-network namespace instead of global fs/lockd/svc.c | 3 -- fs/nfs/callback.c | 3 -- fs/nfsd/cache.h | 2 -- fs/nfsd/netns.h | 25 +++++++++++--- fs/nfsd/nfs4proc.c | 6 ++-- fs/nfsd/nfs4state.c | 3 +- fs/nfsd/nfscache.c | 40 +++++----------------- fs/nfsd/nfsctl.c | 16 ++++----- fs/nfsd/nfsd.h | 1 + fs/nfsd/nfsfh.c | 3 +- fs/nfsd/nfssvc.c | 14 +++----- fs/nfsd/stats.c | 52 ++++++++++++---------------- fs/nfsd/stats.h | 70 +++++++++++++------------------------- fs/nfsd/vfs.c | 5 +-- include/linux/sunrpc/svc.h | 5 ++- net/sunrpc/stats.c | 2 +- net/sunrpc/svc.c | 39 +++++++++++++-------- 17 files changed, 126 insertions(+), 163 deletions(-) -- 2.43.0