All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/2] nfsdctl: list NFSv4 clients
@ 2026-08-31  9:27 Prabhakar Pujeri
  2026-08-31  9:27 ` [PATCH v2 1/2] nfsdctl: add a command to " Prabhakar Pujeri
  2026-08-31  9:27 ` [PATCH v2 2/2] nfsdctl: display per-client NFSv4 state usage Prabhakar Pujeri
  0 siblings, 2 replies; 3+ messages in thread
From: Prabhakar Pujeri @ 2026-08-31  9:27 UTC (permalink / raw)
  To: steved; +Cc: Prabhakar Pujeri, cel, jlayton, linux-nfs

Add the userspace consumer for the companion NFSD Netlink client-state v2
series, whose cover Message-ID is:

  <cover.1787988917.git.prabhakar.pujeri@dell.com>

The first patch adds a privileged `nfsdctl clients` table for basic client
identity, address, lease, confirmation, reclaim, and callback state. The
second adds session and stateid record counts.

Attribute presence remains the compatibility boundary. Missing count
attributes are displayed as dashes. The bundled UAPI header permits building
before the new kernel header is installed, while the configure probe selects
a system header only when it contains the complete count extension.

Changes since v1:

  - decode separate IPv4/IPv6 address, port, and scope-ID attributes instead
    of raw sockaddr data
  - detect NLM_F_DUMP_INTR on client records and NLMSG_DONE, and fail with a
    retry diagnostic rather than displaying a potentially inconsistent list
  - decode variable-width 32-bit or 64-bit uint count attributes and display
    counts as uint64_t values
  - drop the companion grace-status patch with the kernel-side grace patch

Validation performed:

  - strict checkpatch on both patches: no errors, warnings, or checks
  - full nfs-utils build and `make check` using the bundled UAPI header: no
    failures or errors; one environment-dependent test skipped
  - full build and `make check` against headers_install from the final kernel:
    no failures or errors; one environment-dependent test skipped
  - bundled and kernel-source NFSD UAPI headers compared byte-for-byte
  - two independent two-vCPU QEMU boots of the exact companion kernel
  - each `nfsdctl clients` run displayed the expected NFSv4.2 client,
    loopback peer, lease, callback/reclaim state, one session, one open,
    one lock, one delegation, and zero layouts
  - nfsdctl output agreed with raw Netlink and /proc/fs/nfsd/clients state

Development assistance: an LLM assisted with review analysis, implementation,
commit-message drafting, and test-harness development.

Assisted-by: LLM

v1: https://lore.kernel.org/r/cover.1787639206.git.prabhakar.pujeri@dell.com

Prabhakar Pujeri (2):
  nfsdctl: add a command to list NFSv4 clients
  nfsdctl: display per-client NFSv4 state usage

 configure.ac                   |   2 +-
 support/include/nfsd_netlink.h |  43 +++++
 utils/nfsdctl/nfsdctl.8        |  21 +++
 utils/nfsdctl/nfsdctl.adoc     |  14 ++
 utils/nfsdctl/nfsdctl.c        | 310 +++++++++++++++++++++++++++++++++
 5 files changed, 389 insertions(+), 1 deletion(-)


base-commit: 67ed1bdb1af1c70a5fd3b377a997401b7676b827
-- 
2.54.0

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-08-31  9:28 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-31  9:27 [PATCH v2 0/2] nfsdctl: list NFSv4 clients Prabhakar Pujeri
2026-08-31  9:27 ` [PATCH v2 1/2] nfsdctl: add a command to " Prabhakar Pujeri
2026-08-31  9:27 ` [PATCH v2 2/2] nfsdctl: display per-client NFSv4 state usage Prabhakar Pujeri

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.