mbox series

[0/9,RFC,v3] NFS sysfs scaffolding

Message ID cover.1682097420.git.bcodding@redhat.com (mailing list archive)
Headers show
Series NFS sysfs scaffolding | expand

Message

Benjamin Coddington April 21, 2023, 5:18 p.m. UTC
.. and an immediate new version because I had the wrong patch in 0/8 last
time.  Sorry for the noise.

Here's another round of sysfs entries for each nfs_server, this time with a
single use-case: a "shutdown" toggle that causes the basic rpc_clnt(s) to
immediately fail tasks with -EIO.  It works well for the non pNFS cases to
allow an unmount of a filesystem when the NFS server has gone away.

I'm posting to gain potential NACKing, or to be redirected, or to serve as
fodder for discussion at LSF.

I'm thinking I'd like to toggle v4.2 things like READ_PLUS in here next, or
other module-level options that maybe would be useful per-mount.

Benjamin Coddington (9):
  NFS: rename nfs_client_kset to nfs_kset
  NFS: rename nfs_client_kobj to nfs_net_kobj
  NFS: add superblock sysfs entries
  NFS: Add sysfs links to sunrpc clients for nfs_clients
  NFS: add a sysfs link to the lockd rpc_client
  NFS: add a sysfs link to the acl rpc_client
  NFS: add sysfs shutdown knob
  NFS: Cancel all existing RPC tasks when shutdown
  NFSv4: Clean up some shutdown loops

 fs/lockd/clntlock.c         |   6 ++
 fs/nfs/client.c             |  21 +++++
 fs/nfs/nfs3client.c         |   4 +
 fs/nfs/nfs4client.c         |   2 +
 fs/nfs/nfs4proc.c           |   2 +-
 fs/nfs/nfs4state.c          |   3 +
 fs/nfs/super.c              |   6 +-
 fs/nfs/sysfs.c              | 159 +++++++++++++++++++++++++++++++++---
 fs/nfs/sysfs.h              |   9 +-
 include/linux/lockd/bind.h  |   2 +
 include/linux/nfs_fs_sb.h   |   3 +
 include/linux/sunrpc/clnt.h |  11 ++-
 net/sunrpc/clnt.c           |   5 ++
 net/sunrpc/sysfs.h          |   7 --
 14 files changed, 216 insertions(+), 24 deletions(-)