[GIT PULL] nfsd changes for v6.5

From: Chuck Lever III
Date: Fri Jun 23 2023 - 10:11:27 EST


Hi Linus-

Assuming you will open the v6.5 merge window on Sunday, here is an early
pull request for NFSD. Most of these have been soaking in linux-next for
quite some time.

There are no major features this time. There are a few big ticket items
in the pipeline, however. I expect some interesting stuff to show up in
the v6.6 time frame.


The following changes since commit 9561de3a55bed6bdd44a12820ba81ec416e705a7:

Linux 6.4-rc5 (2023-06-04 14:04:27 -0400)

are available in the Git repository at:

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

for you to fetch changes up to 75bfb70457a4c4c9f0095e39885382fc5049c5ce:

nfsd: remove redundant assignments to variable len (2023-06-21 15:05:32 -0400)

----------------------------------------------------------------
NFSD 6.5 Release Notes

Fixes and clean-ups include:
- Clean-ups in the READ path in anticipation of MSG_SPLICE_PAGES
- Better NUMA awareness when allocating pages and other objects
- A number of minor clean-ups to XDR encoding
- Elimination of a race when accepting a TCP socket
- Numerous observability enhancements

----------------------------------------------------------------
Azeem Shaikh (1):
SUNRPC: Use sysfs_emit in place of strlcpy/sprintf

Christian Brauner (1):
nfsd: use vfs setgid helper

Chuck Lever (38):
SUNRPC: Fix an incorrect comment
SUNRPC: Remove dprintk() in svc_handle_xprt()
SUNRPC: Improve observability in svc_tcp_accept()
SUNRPC: Trace struct svc_sock lifetime events
NFSD: Clean up nfsctl white-space damage
NFSD: Clean up nfsctl_transaction_write()
NFSD: trace nfsctl operations
SUNRPC: Resupply rq_pages from node-local memory
SUNRPC: Use __alloc_bulk_pages() in svc_init_buffer()
NFSD: Add encoders for NFSv4 clientids and verifiers
NFSD: Replace encode_cinfo()
NFSD: Ensure that xdr_write_pages updates rq_next_page
NFSD: Use svcxdr_encode_opaque_pages() in nfsd4_encode_splice_read()
NFSD: Update rq_next_page between COMPOUND operations
NFSD: Hoist rq_vec preparation into nfsd_read()
NFSD: Hoist rq_vec preparation into nfsd_read() [step two]
NFSD: Remove nfsd_readv()
svcrdma: Allocate new transports on device's NUMA node
svcrdma: Clean up allocation of svc_rdma_recv_ctxt
svcrdma: Clean up allocation of svc_rdma_send_ctxt
svcrdma: Clean up allocation of svc_rdma_rw_ctxt
mailmap: Add Bruce Fields' latest e-mail addresses
NFSD: Add "official" reviewers for this subsystem
SUNRPC: Revert cc93ce9529a6 ("svcrdma: Retain the page backing rq_res.head[0].iov_base")
SUNRPC: Revert 579900670ac7 ("svcrdma: Remove unused sc_pages field")
svcrdma: Revert 2a1e4f21d841 ("svcrdma: Normalize Send page handling")
svcrdma: Prevent page release when nothing was received
SUNRPC: Optimize page release in svc_rdma_sendto()
SUNRPC: Move initialization of rq_stime
NFSD: Add an nfsd4_encode_nfstime4() helper
svcrdma: Convert "might sleep" comment into a code annotation
svcrdma: trace cc_release calls
svcrdma: Remove an unused argument from __svc_rdma_put_rw_ctxt()
SUNRPC: Fix comments for transport class registration
SUNRPC: Remove transport class dprintk call sites
SUNRPC: Address RCU warning in net/sunrpc/svc.c
NFSD: Distinguish per-net namespace initialization
svcrdma: Fix stale comment

Colin Ian King (1):
nfsd: remove redundant assignments to variable len

Dai Ngo (1):
NFSD: add encoding of op_recall flag for write delegation

Ding Hui (1):
SUNRPC: Fix UAF in svc_tcp_listen_data_ready()

Jeff Layton (2):
nfsd: don't provide pre/post-op attrs if fh_getattr fails
nfsd: move init of percpu reply_cache_stats counters back to nfsd_init_net

NeilBrown (1):
lockd: drop inappropriate svc_get() from locked_get()

.mailmap | 2 +
MAINTAINERS | 4 ++
fs/lockd/svc.c | 1 -
fs/nfsd/cache.h | 2 +
fs/nfsd/export.c | 12 ++--
fs/nfsd/nfs3proc.c | 14 +----
fs/nfsd/nfs3xdr.c | 11 ++--
fs/nfsd/nfs4xdr.c | 289 ++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------
fs/nfsd/nfscache.c | 25 ++++----
fs/nfsd/nfsctl.c | 116 ++++++++++++++++++++++++-------------
fs/nfsd/nfsfh.c | 26 +++------
fs/nfsd/nfsproc.c | 14 +----
fs/nfsd/nfssvc.c | 5 ++
fs/nfsd/nfsxdr.c | 11 ++--
fs/nfsd/trace.h | 259 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fs/nfsd/vfs.c | 80 +++++++++++++++++++++-----
fs/nfsd/vfs.h | 9 ++-
include/linux/sunrpc/svc.h | 21 +++++++
include/linux/sunrpc/svc_rdma.h | 5 +-
include/linux/sunrpc/xdr.h | 3 +-
include/trace/events/rpcrdma.h | 8 +++
include/trace/events/sunrpc.h | 41 +++++++++-----
net/sunrpc/svc.c | 41 ++++++--------
net/sunrpc/svc_xprt.c | 26 ++++++---
net/sunrpc/svcsock.c | 38 ++++++-------
net/sunrpc/xdr.c | 26 ++++-----
net/sunrpc/xprtrdma/svc_rdma_backchannel.c | 8 +--
net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 36 +++++-------
net/sunrpc/xprtrdma/svc_rdma_rw.c | 24 ++++----
net/sunrpc/xprtrdma/svc_rdma_sendto.c | 62 ++++++++++++--------
net/sunrpc/xprtrdma/svc_rdma_transport.c | 18 +++---
31 files changed, 802 insertions(+), 435 deletions(-)
--
Chuck Lever