Skip to content

Backport "make svc_stat per-net instead of global"

[email protected] linux-nfs ltp stable 1 version Applied

Status from this message: This is a note to let you know that I've just added the patch titled

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest18 patches 22 repliesApplied

Patches in v1 Applied

#Subject and filesSizeRepliesApplied
1/18nfsd: move reply cache initialization into nfsd startupfs/nfsd/nfsctl.c fs/nfsd/nfssvc.c+9 -91 reply
2/18nfsd: move init of percpu reply_cache_stats counters back to nfsd_init_netfs/nfsd/cache.h fs/nfsd/nfscache.c fs/nfsd/nfsctl.c+25 -121 reply
3/18NFSD: Refactor nfsd_reply_cache_free_locked()fs/nfsd/nfscache.c+21 -81 reply
4/18NFSD: Rename nfsd_reply_cache_alloc()fs/nfsd/nfscache.c+3 -31 reply
5/18NFSD: Replace nfsd_prune_bucket()fs/nfsd/nfscache.c fs/nfsd/trace.h+85 -151 reply
6/18NFSD: Refactor the duplicate reply cache shrinkerfs/nfsd/nfscache.c+40 -451 reply
7/18NFSD: Rewrite synopsis of nfsd_percpu_counters_init()fs/nfsd/stats.c fs/nfsd/stats.h+4 -41 reply
8/18NFSD: Fix frame size warning in svc_export_parse()fs/nfsd/export.c fs/nfsd/export.h fs/nfsd/stats.h+31 -171 reply
9/18sunrpc: don't change ->sv_stats if it doesn't existnet/sunrpc/svc.c+16 -81 reply
10/18nfsd: stop setting ->pg_stats for unused statsfs/lockd/svc.c fs/nfs/callback.c fs/nfsd/nfssvc.c+0 -111 reply
11/18sunrpc: pass in the sv_stats struct through svc_create_pooledfs/nfsd/nfssvc.c include/linux/sunrpc/svc.h net/sunrpc/svc.c+12 -71 reply
12/18sunrpc: remove ->pg_stats from svc_programfs/nfsd/nfssvc.c include/linux/sunrpc/svc.h+0 -21 reply
13/18sunrpc: use the struct net as the svc proc privatenet/sunrpc/stats.c+1 -11 reply
14/18nfsd: rename NFSD_NET_* to NFSD_STATS_*fs/nfsd/netns.h fs/nfsd/nfscache.c fs/nfsd/stats.h+7 -71 reply
15/18nfsd: expose /proc/net/sunrpc/nfsd in net namespacesfs/nfsd/nfsctl.c fs/nfsd/stats.c fs/nfsd/stats.h+15 -201 reply
16/18nfsd: make all of the nfsd stats per-network namespacefs/nfsd/cache.h fs/nfsd/netns.h fs/nfsd/nfs4proc.c +6 more+64 -911 reply
17/18nfsd: remove nfsd_stats, make th_cnt a global counterfs/nfsd/nfsd.h fs/nfsd/nfssvc.c fs/nfsd/stats.c +1 more+5 -101 reply
18/18nfsd: make svc_stat per-network namespace instead of globalfs/nfsd/netns.h fs/nfsd/nfsctl.c fs/nfsd/nfssvc.c +2 more+11 -91 reply

Reviews trailers per patch

16 of 18 patches have a Reviewed-by or Acked-by.

PatchEirik FullerJeff Layton
1/18
2/18Reported-and-tested-by Reported-and-tested-by
3/18R-b R-b
4/18R-b R-b
5/18R-b R-b
6/18R-b R-b
7/18R-b R-b
8/18R-b R-b
9/18R-b R-b
10/18R-b R-b
11/18R-b R-b
12/18R-b R-b
13/18R-b R-b
14/18R-b R-b
15/18R-b R-b
16/18R-b R-b
17/18R-b R-b
18/18R-b R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 6.1.y 00/18] Backport "make svc_stat per-net instead of global"

From: Chuck Lever <[email protected]>

Following up on

https://lore.kernel.org/linux-nfs/[email protected]/

Here is a backport series targeting origin/linux-6.1.y that closes the information leak described in the above thread.

I started with v6.1.y because that is the most recent LTS kernel and thus the closest to upstream. I plan to look at 5.15 and 5.10 LTS too if this series is applied to v6.1.y.

Review comments welcome.

Chuck Lever (6):
NFSD: Refactor nfsd_reply_cache_free_locked()
NFSD: Rename nfsd_reply_cache_alloc()
NFSD: Replace nfsd_prune_bucket()
NFSD: Refactor the duplicate reply cache shrinker
NFSD: Rewrite synopsis of nfsd_percpu_counters_init()
NFSD: Fix frame size warning in svc_export_parse()

Jeff Layton (2):
nfsd: move reply cache initialization into nfsd startup
nfsd: move init of percpu reply_cache_stats counters back to
nfsd_init_net

Josef Bacik (10):
sunrpc: don't change ->sv_stats if it doesn't exist
nfsd: 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/export.c           |  32 ++++--
 fs/nfsd/export.h           |   4 +-
 fs/nfsd/netns.h            |  25 ++++-
 fs/nfsd/nfs4proc.c         |   6 +-
 fs/nfsd/nfscache.c         | 201 ++++++++++++++++++++++---------------
 fs/nfsd/nfsctl.c           |  24 ++---
 fs/nfsd/nfsd.h             |   1 +
 fs/nfsd/nfsfh.c            |   3 +-
 fs/nfsd/nfssvc.c           |  24 +++--
 fs/nfsd/stats.c            |  52 ++++------
 fs/nfsd/stats.h            |  83 ++++++---------
 fs/nfsd/trace.h            |  22 ++++
 fs/nfsd/vfs.c              |   6 +-
 include/linux/sunrpc/svc.h |   5 +-
 net/sunrpc/stats.c         |   2 +-
 net/sunrpc/svc.c           |  36 ++++---
 18 files changed, 301 insertions(+), 231 deletions(-)
Signature · 1 line
2.45.1