mbox series

[GIT,PULL] NFSD changes for v6.14

Message ID 20250127143907.5349-1-cel@kernel.org (mailing list archive)
State New, archived
Headers show
Series [GIT,PULL] NFSD changes for v6.14 | expand

Pull-request

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

Message

Chuck Lever Jan. 27, 2025, 2:39 p.m. UTC
The following changes since commit 9d89551994a430b50c4fffcb1e617a057fa76e20:

  Linux 6.13-rc6 (2025-01-05 14:13:40 -0800)

are available in the Git repository at:

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

for you to fetch changes up to c92066e78600b058638785288274a1f1426fe268:

  sunrpc: Remove gss_{de,en}crypt_xdr_buf deadcode (2025-01-21 15:30:01 -0500)

----------------------------------------------------------------
NFSD 6.14 Release Notes

Jeff Layton contributed an implementation of NFSv4.2+ attribute
delegation, as described here:

https://www.ietf.org/archive/id/draft-ietf-nfsv4-delstid-08.html

This interoperates with similar functionality introduced into the
Linux NFS client in v6.11. An attribute delegation permits an NFS
client to manage a file's mtime, rather than flushing dirty data to
the NFS server so that the file's mtime reflects the last write,
which is considerably slower.

Neil Brown contributed dynamic NFSv4.1 session slot table resizing.
This facility enables NFSD to increase or decrease the number of
slots per NFS session depending on server memory availability. More
session slots means greater parallelism.

Chuck Lever fixed a long-standing latent bug where NFSv4 COMPOUND
encoding screws up when crossing a page boundary in the encoding
buffer. This is a zero-day bug, but hitting it is rare and depends
on the NFS client implementation. The Linux NFS client does not
happen to trigger this issue.

A variety of bug fixes and other incremental improvements fill out
the list of commits in this release. Great thanks to all
contributors, reviewers, testers, and bug reporters who participated
during this development cycle.

----------------------------------------------------------------
Chen Hanxiao (1):
      nfsd: trace: remove redundant stateid even deleg_recall

Chuck Lever (11):
      NFSD: Clean up unused variable
      NFSD: Encode COMPOUND operation status on page boundaries
      NFSD: Insulate nfsd4_encode_read() from page boundaries in the encode buffer
      NFSD: Insulate nfsd4_encode_read_plus() from page boundaries in the encode buffer
      NFSD: Insulate nfsd4_encode_read_plus_data() from page boundaries in the encode buffer
      NFSD: Insulate nfsd4_encode_readlink() from page boundaries in the encode buffer
      NFSD: Refactor nfsd4_do_encode_secinfo() again
      NFSD: Insulate nfsd4_encode_secinfo() from page boundaries in the encode buffer
      NFSD: Insulate nfsd4_encode_fattr4() from page boundaries in the encode buffer
      SUNRPC: Document validity guarantees of the pointer returned by reserve_space
      Revert "SUNRPC: Reduce thread wake-up rate when receiving large RPC messages"

Dr. David Alan Gilbert (3):
      sunrpc: Remove unused xprt_iter_get_xprt
      sunrpc: Remove gss_generic_token deadcode
      sunrpc: Remove gss_{de,en}crypt_xdr_buf deadcode

Jeff Layton (10):
      nfsd: fix handling of delegated change attr in CB_GETATTR
      nfs_common: make include/linux/nfs4.h include generated nfs4_1.h
      nfsd: switch to autogenerated definitions for open_delegation_type4
      nfsd: rename NFS4_SHARE_WANT_* constants to OPEN4_SHARE_ACCESS_WANT_*
      nfsd: prepare delegation code for handing out *_ATTRS_DELEG delegations
      nfsd: add support for FATTR4_OPEN_ARGUMENTS
      nfsd: rework NFS4_SHARE_WANT_* flag handling
      nfsd: add support for delegated timestamps
      nfsd: handle delegated timestamps in SETATTR
      nfsd: implement OPEN_ARGS_SHARE_ACCESS_WANT_OPEN_XOR_DELEGATION

NeilBrown (10):
      nfsd: use new wake_up_var interfaces.
      sunrpc/svc: use store_release_wake_up()
      nfsd: don't use sv_nrthreads in connection limiting calculations.
      sunrpc: remove all connection limit configuration
      nfsd: use an xarray to store v4.1 session slots
      nfsd: remove artificial limits on the session-based DRC
      nfsd: add session slot count to /proc/fs/nfsd/clients/*/info
      nfsd: allocate new session-based DRC slots on demand.
      nfsd: add support for freeing unused session-DRC slots
      nfsd: add shrinker to reduce number of slots allocated per session

Olga Kornievskaia (2):
      NFSD: fix decoding in nfs4_xdr_dec_cb_getattr
      NFSD: add cb opcode to WARN_ONCE on failed callback

Scott Mayhew (1):
      nfsd: fix legacy client tracking initialization

Yang Erkun (4):
      SUNRPC: introduce cache_check_rcu to help check in rcu context
      nfsd: no need get cache ref when protected by rcu
      SUNRPC: no need get cache ref when protected by rcu
      nfsd: fix UAF when access ex_uuid or ex_stats

 Documentation/sunrpc/xdr/nfs4_1.x       | 186 +++++++++++
 fs/lockd/svc.c                          |   8 -
 fs/nfs/callback.c                       |   4 -
 fs/nfs/callback_xdr.c                   |   1 +
 fs/nfsd/Makefile                        |  16 +-
 fs/nfsd/export.c                        |  25 +-
 fs/nfsd/netns.h                         |   6 -
 fs/nfsd/nfs4callback.c                  |  60 +++-
 fs/nfsd/nfs4proc.c                      |  31 +-
 fs/nfsd/nfs4recover.c                   |   1 -
 fs/nfsd/nfs4state.c                     | 526 +++++++++++++++++++++++---------
 fs/nfsd/nfs4xdr.c                       | 338 +++++++++++++-------
 fs/nfsd/nfs4xdr_gen.c                   | 256 ++++++++++++++++
 fs/nfsd/nfs4xdr_gen.h                   |  25 ++
 fs/nfsd/nfsctl.c                        |  42 ---
 fs/nfsd/nfsd.h                          |  13 +-
 fs/nfsd/nfsfh.c                         |   2 +
 fs/nfsd/nfssvc.c                        |  37 ---
 fs/nfsd/state.h                         |  36 ++-
 fs/nfsd/trace.h                         |   1 -
 fs/nfsd/xdr4.h                          |   2 -
 fs/nfsd/xdr4cb.h                        |  10 +-
 include/linux/nfs4.h                    |   9 +-
 include/linux/nfs_xdr.h                 |   5 -
 include/linux/sunrpc/cache.h            |   2 +
 include/linux/sunrpc/gss_asn1.h         |  81 -----
 include/linux/sunrpc/gss_krb5.h         |   1 -
 include/linux/sunrpc/svc.h              |  13 +-
 include/linux/sunrpc/svc_xprt.h         |  22 ++
 include/linux/sunrpc/xdrgen/nfs4_1.h    | 153 ++++++++++
 include/linux/sunrpc/xprtmultipath.h    |   1 -
 include/linux/time64.h                  |   5 +
 include/uapi/linux/nfs4.h               |   7 +-
 net/sunrpc/auth_gss/Makefile            |   2 +-
 net/sunrpc/auth_gss/gss_generic_token.c | 231 --------------
 net/sunrpc/auth_gss/gss_krb5_crypto.c   |  55 ----
 net/sunrpc/auth_gss/gss_krb5_internal.h |   7 -
 net/sunrpc/auth_gss/gss_mech_switch.c   |   1 -
 net/sunrpc/cache.c                      |  53 ++--
 net/sunrpc/svc_xprt.c                   |  38 +--
 net/sunrpc/svcsock.c                    |  12 +-
 net/sunrpc/xdr.c                        |   6 +
 net/sunrpc/xprtmultipath.c              |  17 --
 43 files changed, 1462 insertions(+), 885 deletions(-)
 create mode 100644 Documentation/sunrpc/xdr/nfs4_1.x
 create mode 100644 fs/nfsd/nfs4xdr_gen.c
 create mode 100644 fs/nfsd/nfs4xdr_gen.h
 delete mode 100644 include/linux/sunrpc/gss_asn1.h
 create mode 100644 include/linux/sunrpc/xdrgen/nfs4_1.h
 delete mode 100644 net/sunrpc/auth_gss/gss_generic_token.c

Comments

pr-tracker-bot@kernel.org Jan. 28, 2025, 1:56 a.m. UTC | #1
The pull request you sent on Mon, 27 Jan 2025 09:39:07 -0500:

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

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

Thank you!