mbox series

[GIT,PULL] NFSD changes for v6.8

Message ID ZZ10c3vzhM/CVjQs@tissot.1015granger.net (mailing list archive)
State New, archived
Headers show
Series [GIT,PULL] NFSD changes for v6.8 | expand

Pull-request

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

Message

Chuck Lever Jan. 9, 2024, 4:29 p.m. UTC
Hello Linus -

The following changes since commit 0dd3ee31125508cd67f7e7172247f05b7fd1753a:

  Linux 6.7 (2024-01-07 12:18:38 -0800)

are available in the Git repository at:

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

for you to fetch changes up to 17419aefcbfd9891863e8b8132f0bca9a6b2984e:

  nfsd: rename nfsd_last_thread() to nfsd_destroy_serv() (2024-01-07 17:54:33 -0500)

----------------------------------------------------------------
NFSD 6.8 Release Notes

The bulk of the patches for this release are clean-ups and minor bug
fixes.

There is one significant revert to mention: support for RDMA Read
operations in the server's RPC-over-RDMA transport implementation
has been fixed so it waits for Read completion in a way that avoids
tying up an nfsd thread. This prevents a possible DoS vector if an
RPC-over-RDMA client should become unresponsive during RDMA Read
operations.

As always I am grateful to NFSD contributors, reviewers, and
testers.

----------------------------------------------------------------
ChenXiaoSong (1):
      NFSv4, NFSD: move enum nfs_cb_opnum4 to include/linux/nfs4.h

Chuck Lever (48):
      NFSD: Make the file_delayed_close workqueue UNBOUND
      NFSD: Remove nfsd_drc_gc() tracepoint
      NFSD: Document lack of f_pos_lock in nfsd_readdir()
      SUNRPC: Add a server-side API for retrieving an RPC's pseudoflavor
      NFSD: Replace RQ_SPLICE_OK in nfsd_read()
      NFSD: Modify NFSv4 to use nfsd_read_splice_ok()
      SUNRPC: Remove RQ_SPLICE_OK
      svcrdma: Eliminate allocation of recv_ctxt objects in backchannel
      svcrdma: Pre-allocate svc_rdma_recv_ctxt objects
      svcrdma: Add a utility workqueue to svcrdma
      svcrdma: Add an async version of svc_rdma_send_ctxt_put()
      svcrdma: Add an async version of svc_rdma_write_info_free()
      svcrdma: Clean up locking
      svcrdma: Add lockdep class keys for transport locks
      rpcrdma: Introduce a simple cid tracepoint class
      svcrdma: SQ error tracepoints should report completion IDs
      svcrdma: DMA error tracepoints should report completion IDs
      svcrdma: Update some svcrdma DMA-related tracepoints
      svcrdma: Reduce size of struct svc_rdma_rw_ctxt
      svcrdma: Acquire the svcxprt_rdma pointer from the CQ context
      svcrdma: Explicitly pass the transport into Write chunk I/O paths
      svcrdma: Explicitly pass the transport into Read chunk I/O paths
      svcrdma: Explicitly pass the transport to svc_rdma_post_chunk_ctxt()
      svcrdma: Pass a pointer to the transport to svc_rdma_cc_release()
      svcrdma: Remove the svc_rdma_chunk_ctxt::cc_rdma field
      svcrdma: Move struct svc_rdma_chunk_ctxt to svc_rdma.h
      svcrdma: Start moving fields out of struct svc_rdma_read_info
      svcrdma: Move svc_rdma_read_info::ri_pageno to struct svc_rdma_recv_ctxt
      svcrdma: Move read_info::ri_pageoff into struct svc_rdma_recv_ctxt
      svcrdma: Update synopsis of svc_rdma_build_read_segment()
      svcrdma: Update synopsis of svc_rdma_build_read_chunk()
      svcrdma: Update synopsis of svc_rdma_read_chunk_range()
      svcrdma: Update the synopsis of svc_rdma_read_data_item()
      svcrdma: Update synopsis of svc_rdma_copy_inline_range()
      svcrdma: Update synopsis of svc_rdma_read_multiple_chunks()
      svcrdma: Update the synopsis of svc_rdma_read_call_chunk()
      svcrdma: Update the synopsis of svc_rdma_read_special()
      svcrdma: Remove struct svc_rdma_read_info
      svcrdma: Move the svc_rdma_cc_init() call
      svcrdma: De-duplicate completion ID initialization helpers
      svcrdma: Optimize svc_rdma_cc_init()
      svcrdma: Remove pointer addresses shown in dprintk()
      svcrdma: Remove queue-shortening warnings
      svcrdma: Clean up comment in svc_rdma_accept()
      svcrdma: Add back svc_rdma_recv_ctxt::rc_pages
      svcrdma: Add back svcxprt_rdma::sc_read_complete_q
      svcrdma: Copy construction of svc_rqst::rq_arg to rdma_read_complete()
      svcrdma: Implement multi-stage Read completion again

Dai Ngo (1):
      SUNRPC: remove printk when back channel request not found

Dan Carpenter (1):
      nfsd: remove unnecessary NULL check

Jeff Layton (1):
      nfsd: new Kconfig option for legacy client tracking

NeilBrown (3):
      svc: don't hold reference for poolstats, only mutex.
      SUNRPC: discard sv_refcnt, and svc_get/svc_put
      nfsd: rename nfsd_last_thread() to nfsd_destroy_serv()

Oleg Nesterov (1):
      NFSD: use read_seqbegin() rather than read_seqbegin_or_lock()

 fs/lockd/svc.c                             |  10 +--
 fs/nfs/callback.c                          |  13 ++-
 fs/nfs/callback.h                          |  19 ----
 fs/nfsd/Kconfig                            |  16 ++++
 fs/nfsd/filecache.c                        |   2 +-
 fs/nfsd/netns.h                            |  11 +--
 fs/nfsd/nfs4callback.c                     |  26 +-----
 fs/nfsd/nfs4proc.c                         |   7 +-
 fs/nfsd/nfs4recover.c                      |  97 +++++++++++++-------
 fs/nfsd/nfs4state.c                        |   2 +-
 fs/nfsd/nfs4xdr.c                          |  13 +--
 fs/nfsd/nfscache.c                         |   6 +-
 fs/nfsd/nfsctl.c                           |  24 +++--
 fs/nfsd/nfsd.h                             |   2 +-
 fs/nfsd/nfssvc.c                           |  69 ++++-----------
 fs/nfsd/trace.h                            |  22 -----
 fs/nfsd/vfs.c                              |  46 +++++++++-
 fs/nfsd/vfs.h                              |   1 +
 fs/nfsd/xdr4.h                             |   1 +
 include/linux/nfs4.h                       |  22 +++++
 include/linux/sunrpc/svc.h                 |  35 ++------
 include/linux/sunrpc/svc_rdma.h            |  67 +++++++++++++-
 include/linux/sunrpc/svcauth.h             |   7 +-
 include/trace/events/rpcrdma.h             | 254 +++++++++++++++++++++++-----------------------------
 include/trace/events/sunrpc.h              |   1 -
 net/sunrpc/auth_gss/svcauth_gss.c          |  16 ++--
 net/sunrpc/svc.c                           |  15 +---
 net/sunrpc/svc_xprt.c                      |  32 +++++--
 net/sunrpc/svcauth.c                       |  16 ++++
 net/sunrpc/svcsock.c                       |  14 +--
 net/sunrpc/xprtrdma/svc_rdma.c             |  32 +++++--
 net/sunrpc/xprtrdma/svc_rdma_backchannel.c |  11 +--
 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c    | 211 +++++++++++++++++++++++++++++++++++++-------
 net/sunrpc/xprtrdma/svc_rdma_rw.c          | 450 +++++++++++++++++++++++++++++++++++++++------------------------------------------------------
 net/sunrpc/xprtrdma/svc_rdma_sendto.c      | 112 ++++++++++++-----------
 net/sunrpc/xprtrdma/svc_rdma_transport.c   |  36 ++++----
 net/sunrpc/xprtrdma/verbs.c                |   2 +-
 37 files changed, 923 insertions(+), 797 deletions(-)

Comments

pr-tracker-bot@kernel.org Jan. 10, 2024, 8:38 p.m. UTC | #1
The pull request you sent on Tue, 9 Jan 2024 11:29:39 -0500:

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

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/49f4810356f7d4294ad63dc70fe3c65ca3b8ada9

Thank you!