[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250527141706.388993-1-cel@kernel.org>
Date: Tue, 27 May 2025 10:17:06 -0400
From: cel@...nel.org
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: <linux-kernel@...r.kernel.org>,
<linux-nfs@...r.kernel.org>,
Jeff Layton <jlayton@...nel.org>
Subject: [GIT PULL] NFSD changes for v6.16
The following changes since commit 82f2b0b97b36ee3fcddf0f0780a9a0825d52fec3:
Linux 6.15-rc6 (2025-05-11 14:54:11 -0700)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git tags/nfsd-6.16
for you to fetch changes up to 425364dc49f050b6008b43408aa96d42105a9c1d:
xdrgen: Fix code generated for counted arrays (2025-05-16 10:58:48 -0400)
----------------------------------------------------------------
NFSD 6.16 Release Notes
The marquee feature for this release is that the limit on the
maximum rsize and wsize has been raised to 4MB. The default remains
at 1MB, but risk-seeking administrators now have the ability to try
larger I/O sizes with NFS clients that support them. Eventually the
default setting will be increased when we have confidence that this
change will not have negative impact.
With v6.16, NFSD now has its own debugfs file system where we can
add experimental features and make them available outside of our
development community without impacting production deployments. The
first experimental setting added is one that makes all NFS READ
operations use vfs_iter_read() instead of the NFSD splice actor. The
plan is to eventually retire the splice actor, as that will enable a
number of new capabilities such as the use of struct bio_vec from the
top to the bottom of the NFSD stack.
Jeff Layton contributed a number of observability improvements. The
use of dprintk() in a number of high-traffic code paths has been
replaced with static trace points.
This release sees the continuation of efforts to harden the NFSv4.2
COPY operation. Soon, the restriction on async COPY operations can
be lifted.
Many thanks to the contributors, reviewers, testers, and bug
reporters who participated during the v6.16 development cycle.
----------------------------------------------------------------
Chuck Lever (32):
NFSD: OFFLOAD_CANCEL should mark an async COPY as completed
NFSD: Shorten CB_OFFLOAD response to NFS4ERR_DELAY
NFSD: Implement CB_SEQUENCE referring call lists
NFSD: Implement CB_SEQUENCE referring call lists
NFSD: Record each NFSv4 call's session slot index
NFSD: Add /sys/kernel/debug/nfsd
NFSD: Add experimental setting to disable the use of splice read
MAINTAINERS: Update Neil Brown's email address
svcrdma: Unregister the device if svc_rdma_accept() fails
NFSD: Implement FATTR4_CLONE_BLKSIZE attribute
NFSD: Use sockaddr instead of a generic array
NFSD: Add a Call equivalent to the NFSD_TRACE_PROC_RES macros
svcrdma: Reduce the number of rdma_rw contexts per-QP
sunrpc: Add a helper to derive maxpages from sv_max_mesg
sunrpc: Remove backchannel check in svc_init_buffer()
sunrpc: Replace the rq_pages array with dynamically-allocated memory
sunrpc: Replace the rq_bvec array with dynamically-allocated memory
NFSD: Use rqstp->rq_bvec in nfsd_iter_read()
NFSD: De-duplicate the svc_fill_write_vector() call sites
SUNRPC: Export xdr_buf_to_bvec()
NFSD: Use rqstp->rq_bvec in nfsd_iter_write()
SUNRPC: Remove svc_fill_write_vector()
SUNRPC: Remove svc_rqst :: rq_vec
sunrpc: Adjust size of socket's receive page array dynamically
svcrdma: Adjust the number of entries in svc_rdma_recv_ctxt::rc_pages
svcrdma: Adjust the number of entries in svc_rdma_send_ctxt::sc_pages
sunrpc: Remove the RPCSVC_MAXPAGES macro
NFSD: Remove NFSD_BUFSIZE
NFSD: Remove NFSSVC_MAXBLKSIZE_V2 macro
NFSD: Add a "default" block size
SUNRPC: Bump the maximum payload size for the server
xdrgen: Fix code generated for counted arrays
Eric Biggers (1):
nfsd: use SHA-256 library API instead of crypto_shash API
Guoqing Jiang (1):
nfsd: remove redundant WARN_ON_ONCE in nfsd4_write
Jeff Layton (19):
nfsd: add commit start/done tracepoints around nfsd_commit()
sunrpc: add info about xprt queue times to svc_xprt_dequeue tracepoint
sunrpc: allow SOMAXCONN backlogged TCP connections
nfsd: add a tracepoint for nfsd_setattr
nfsd: add a tracepoint to nfsd_lookup_dentry
nfsd: add nfsd_vfs_create tracepoints
nfsd: add tracepoint to nfsd_symlink
nfsd: add tracepoint to nfsd_link()
nfsd: add tracepoints for unlink events
nfsd: add tracepoint to nfsd_rename
nfsd: add tracepoint to nfsd_readdir
nfsd: add tracepoint for getattr and statfs events
nfsd: remove old v2/3 create path dprintks
nfsd: remove old v2/3 SYMLINK dprintks
nfsd: remove old LINK dprintks
nfsd: remove REMOVE/RMDIR dprintks
nfsd: remove dprintks for v2/3 RENAME events
nfsd: remove legacy READDIR dprintks
nfsd: remove legacy dprintks from GETATTR and STATFS codepaths
Li Lingfeng (1):
nfsd: Initialize ssc before laundromat_work to prevent NULL dereference
Long Li (2):
sunrpc: update nextcheck time when adding new cache entries
sunrpc: fix race in cache cleanup causing stale nextcheck time
Maninder Singh (2):
NFSD: unregister filesystem in case genl_register_family() fails
NFSD: fix race between nfsd registration and exports_proc
NeilBrown (1):
nfsd: nfsd4_spo_must_allow() must check this is a v4 compound request
Olga Kornievskaia (1):
nfsd: fix access checking for NLM under XPRTSEC policies
.mailmap | 2 +
MAINTAINERS | 2 +-
fs/nfsd/Kconfig | 2 +-
fs/nfsd/Makefile | 1 +
fs/nfsd/debugfs.c | 47 ++++
fs/nfsd/export.c | 3 +-
fs/nfsd/nfs3proc.c | 68 +----
fs/nfsd/nfs4callback.c | 132 ++++++++-
fs/nfsd/nfs4proc.c | 35 ++-
fs/nfsd/nfs4recover.c | 61 +----
fs/nfsd/nfs4state.c | 40 +--
fs/nfsd/nfs4xdr.c | 21 +-
fs/nfsd/nfsctl.c | 25 +-
fs/nfsd/nfsd.h | 34 +--
fs/nfsd/nfsproc.c | 48 +---
fs/nfsd/nfssvc.c | 8 +-
fs/nfsd/nfsxdr.c | 4 +-
fs/nfsd/state.h | 23 ++
fs/nfsd/trace.h | 302 ++++++++++++++++++++-
fs/nfsd/vfs.c | 90 ++++--
fs/nfsd/vfs.h | 10 +-
fs/nfsd/xdr4.h | 4 +
fs/nfsd/xdr4cb.h | 5 +-
include/linux/sunrpc/svc.h | 46 ++--
include/linux/sunrpc/svc_rdma.h | 6 +-
include/linux/sunrpc/svc_xprt.h | 1 +
include/linux/sunrpc/svcsock.h | 4 +-
include/trace/events/sunrpc.h | 13 +-
include/trace/misc/fs.h | 21 ++
net/sunrpc/cache.c | 17 +-
net/sunrpc/svc.c | 80 ++----
net/sunrpc/svc_xprt.c | 11 +-
net/sunrpc/svcsock.c | 17 +-
net/sunrpc/xdr.c | 1 +
net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 8 +-
net/sunrpc/xprtrdma/svc_rdma_rw.c | 2 +-
net/sunrpc/xprtrdma/svc_rdma_sendto.c | 16 +-
net/sunrpc/xprtrdma/svc_rdma_transport.c | 15 +-
.../C/pointer/encoder/variable_length_array.j2 | 2 +
.../C/struct/encoder/variable_length_array.j2 | 2 +
.../C/union/decoder/variable_length_array.j2 | 2 +
41 files changed, 849 insertions(+), 382 deletions(-)
create mode 100644 fs/nfsd/debugfs.c
Powered by blists - more mailing lists