[GIT PULL] nfsd changes for 5.18

From: Chuck Lever III
Date: Mon Mar 21 2022 - 10:23:35 EST


Hi Linus-

The following changes since commit 7e57714cd0ad2d5bb90e50b5096a0e671dec1ef3:

Linux 5.17-rc6 (2022-02-27 14:36:33 -0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git tags/nfsd-5.18

for you to fetch changes up to 4fc5f5346592cdc91689455d83885b0af65d71b8:

nfsd: fix using the correct variable for sizeof() (2022-03-20 12:49:38 -0400)

----------------------------------------------------------------
New features:
- NFSv3 support in NFSD is now always built
- Added NFSD support for the NFSv4 birth-time file attribute
- Added support for storing and displaying sockaddrs in trace points
- NFSD now recognizes RPC_AUTH_TLS probes

Performance improvements:
- Optimized the svc transport enqueuing mechanism
- Added micro-optimizations for the duplicate reply cache

Notable bug fixes:
- Allocation of the NFSD file cache hash table is more reliable

----------------------------------------------------------------
Amir Goldstein (1):
nfsd: more robust allocation failure handling in nfsd_file_cache_init

Bill Wendling (1):
nfsd: use correct format characters

Chuck Lever (22):
NFSD: De-duplicate hash bucket indexing
NFSD: Skip extra computation for RC_NOCACHE case
NFSD: Streamline the rare "found" case
tracing: Introduce helpers to safely handle dynamic-sized sockaddrs
NFSD: Use __sockaddr field to store socket addresses
NFSD: Remove NFSD_PROC_ARGS_* macros
SUNRPC: Improve sockaddr handling in the svc_xprt_create_error trace point
SUNRPC: Same as SVC_RQST_ENDPOINT, but without the xid
SUNRPC: Record endpoint information in trace log
SUNRPC: Remove the .svo_enqueue_xprt method
SUNRPC: Merge svc_do_enqueue_xprt() into svc_enqueue_xprt()
SUNRPC: Remove svo_shutdown method
SUNRPC: Rename svc_create_xprt()
SUNRPC: Rename svc_close_xprt()
SUNRPC: Remove svc_shutdown_net()
NFSD: Remove svc_serv_ops::svo_module
NFSD: Move svc_serv_ops::svo_function into struct svc_serv
SUNRPC: Teach server to recognize RPC_AUTH_TLS
NFSD: Remove CONFIG_NFSD_V3
arch: Remove references to CONFIG_NFSD_V3 in the default configs
NFSD: Clean up _lm_ operation names
NFSD: Fix nfsd_breaker_owns_lease() return values

Dai Ngo (1):
fs/lock: documentation cleanup. Replace inode->i_lock with flc_lock.

Dan Carpenter (2):
NFSD: prevent underflow in nfssvc_decode_writeargs()
NFSD: prevent integer overflow on 32 bit systems

Jakob Koschel (1):
nfsd: fix using the correct variable for sizeof()

Ondrej Valousek (1):
nfsd: Add support for the birth time attribute

Steven Rostedt (Google) (1):
tracing: Update print fmt check to handle new __get_sockaddr() macro

Documentation/filesystems/locking.rst | 6 +--
arch/alpha/configs/defconfig | 1 -
arch/arm/configs/davinci_all_defconfig | 1 -
arch/arm/configs/ezx_defconfig | 1 -
arch/arm/configs/imote2_defconfig | 1 -
arch/arm/configs/integrator_defconfig | 1 -
arch/arm/configs/iop32x_defconfig | 1 -
arch/arm/configs/keystone_defconfig | 1 -
arch/arm/configs/lart_defconfig | 1 -
arch/arm/configs/netwinder_defconfig | 1 -
arch/arm/configs/versatile_defconfig | 1 -
arch/arm/configs/viper_defconfig | 1 -
arch/arm/configs/zeus_defconfig | 1 -
arch/ia64/configs/zx1_defconfig | 1 -
arch/m68k/configs/amiga_defconfig | 1 -
arch/m68k/configs/apollo_defconfig | 1 -
arch/m68k/configs/atari_defconfig | 1 -
arch/m68k/configs/bvme6000_defconfig | 1 -
arch/m68k/configs/hp300_defconfig | 1 -
arch/m68k/configs/mac_defconfig | 1 -
arch/m68k/configs/multi_defconfig | 1 -
arch/m68k/configs/mvme147_defconfig | 1 -
arch/m68k/configs/mvme16x_defconfig | 1 -
arch/m68k/configs/q40_defconfig | 1 -
arch/m68k/configs/sun3_defconfig | 1 -
arch/m68k/configs/sun3x_defconfig | 1 -
arch/mips/configs/cobalt_defconfig | 1 -
arch/mips/configs/decstation_64_defconfig | 1 -
arch/mips/configs/decstation_defconfig | 1 -
arch/mips/configs/decstation_r4k_defconfig | 1 -
arch/mips/configs/ip22_defconfig | 1 -
arch/mips/configs/ip32_defconfig | 1 -
arch/mips/configs/jazz_defconfig | 1 -
arch/mips/configs/malta_defconfig | 1 -
arch/mips/configs/malta_kvm_defconfig | 1 -
arch/mips/configs/maltaup_xpa_defconfig | 1 -
arch/mips/configs/rm200_defconfig | 1 -
arch/mips/configs/tb0219_defconfig | 1 -
arch/mips/configs/tb0226_defconfig | 1 -
arch/mips/configs/tb0287_defconfig | 1 -
arch/mips/configs/workpad_defconfig | 1 -
arch/parisc/configs/generic-32bit_defconfig | 1 -
arch/powerpc/configs/linkstation_defconfig | 1 -
arch/powerpc/configs/mvme5100_defconfig | 1 -
arch/sh/configs/ap325rxa_defconfig | 1 -
arch/sh/configs/ecovec24_defconfig | 1 -
arch/sh/configs/landisk_defconfig | 1 -
arch/sh/configs/sdk7780_defconfig | 1 -
arch/sh/configs/se7724_defconfig | 1 -
arch/sh/configs/sh03_defconfig | 1 -
arch/sh/configs/sh7785lcr_32bit_defconfig | 1 -
arch/sh/configs/titan_defconfig | 1 -
fs/Kconfig | 2 +-
fs/lockd/svc.c | 24 +++------
fs/nfs/callback.c | 66 ++++++++-----------------
fs/nfs/nfs4state.c | 1 -
fs/nfsd/Kconfig | 12 +----
fs/nfsd/Makefile | 3 +-
fs/nfsd/filecache.c | 6 +--
fs/nfsd/flexfilelayout.c | 2 +-
fs/nfsd/nfs4layouts.c | 2 +-
fs/nfsd/nfs4state.c | 20 +++++---
fs/nfsd/nfs4xdr.c | 10 ++++
fs/nfsd/nfscache.c | 33 ++++++-------
fs/nfsd/nfsctl.c | 10 ++--
fs/nfsd/nfsd.h | 2 +-
fs/nfsd/nfsfh.c | 4 --
fs/nfsd/nfsfh.h | 20 --------
fs/nfsd/nfsproc.c | 2 +-
fs/nfsd/nfssvc.c | 25 +++-------
fs/nfsd/trace.h | 107 ++++++++++++++++++----------------------
fs/nfsd/vfs.c | 9 ----
fs/nfsd/vfs.h | 2 -
fs/nfsd/xdr.h | 2 +-
include/linux/sunrpc/svc.h | 26 ++--------
include/linux/sunrpc/svc_xprt.h | 12 +++--
include/linux/sunrpc/xdr.h | 2 +
include/trace/bpf_probe.h | 6 +++
include/trace/events/sunrpc.h | 244 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------
include/trace/perf.h | 6 +++
include/trace/trace_events.h | 55 ++++++++++++++++++++-
kernel/module.c | 2 +-
kernel/trace/trace_events.c | 6 +++
net/sunrpc/svc.c | 50 ++++++++++---------
net/sunrpc/svc_xprt.c | 68 ++++++++++++++++----------
net/sunrpc/svcauth.c | 2 +
net/sunrpc/svcauth_unix.c | 60 +++++++++++++++++++++++
net/sunrpc/xprtrdma/svc_rdma_backchannel.c | 2 +-
88 files changed, 512 insertions(+), 450 deletions(-)

--
Chuck Lever