mbox series

[v6,0/3] add rpc_status handler in nfsd debug filesystem

Message ID cover.1691656474.git.lorenzo@kernel.org (mailing list archive)
Headers show
Series add rpc_status handler in nfsd debug filesystem | expand

Message

Lorenzo Bianconi Aug. 10, 2023, 8:39 a.m. UTC
Introduce rpc_status entry in nfsd debug filesystem in order to dump
pending RPC requests debugging information.

Changes since v5:
- add missing delimiters for nfs4 compound ops
- add a header line for rpc_status handler
- do not dump rq_prog
- do not dump rq_flags in hex

Changes since v4:
- rely on acquire/release APIs and get rid of atomic operation
- fix kdoc for nfsd_rpc_status_open
- get rid of ',' as field delimiter in nfsd_rpc_status hanlder
- move nfsd_rpc_status before nfsd_v4 enum entries
- fix compilantion error if nfsdv4 is not enabled

Changes since v3:
- introduce rq_status_counter in order to detect if the RPC request is
  pending and RPC info are stable
- rely on __svc_print_addr to dump IP info

Changes since v2:
- minor changes in nfsd_rpc_status_show output

Changes since v1:
- rework nfsd_rpc_status_show output

Changes since RFCv1:
- riduce time holding nfsd_mutex bumping svc_serv refcoung in
  nfsd_rpc_status_open()
- dump rqstp->rq_stime
- add missing kdoc for nfsd_rpc_status_open()

Link: https://bugzilla.linux-nfs.org/show_bug.cgi?id=3D366

Lorenzo Bianconi (3):
  SUNRPC: add verbose parameter to __svc_print_addr()
  NFSD: introduce nfsd_stats_open utility routine
  NFSD: add rpc_status entry in nfsd debug filesystem

 fs/nfsd/nfs4proc.c              |   4 +-
 fs/nfsd/nfsctl.c                |  11 ++-
 fs/nfsd/nfsd.h                  |   9 +-
 fs/nfsd/nfssvc.c                | 163 ++++++++++++++++++++++++++++++--
 include/linux/sunrpc/svc.h      |   1 +
 include/linux/sunrpc/svc_xprt.h |  12 +--
 net/sunrpc/svc.c                |   2 +-
 net/sunrpc/svc_xprt.c           |   2 +-
 8 files changed, 185 insertions(+), 19 deletions(-)