mbox series

[GIT,PULL] initial nfsd updates for v6.2

Message ID ECE34A45-6FD7-4559-8F68-9340E6B3FDC6@oracle.com (mailing list archive)
State New, archived
Headers show
Series [GIT,PULL] initial nfsd updates for v6.2 | expand

Pull-request

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

Message

Chuck Lever III Dec. 12, 2022, 9:46 p.m. UTC
Greetings Linus-

You may notice that towards the end of the commit list in this series
the CommitDate on individual commits is December 10. I had to drop a
patch from the middle of this series due to regressions.

Its replacement and a fix for the recent server-to-server copy crasher
will be on your virtual doorstep before the v6.2 merge window closes.

Meanwhile the remaining patches below have been percolating in
linux-next for quite some time. Please pull these for v6.2.


PR follows:


The following changes since commit b7b275e60bcd5f89771e865a8239325f86d9927d:

  Linux 6.1-rc7 (2022-11-27 13:31:48 -0800)

are available in the Git repository at:

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

for you to fetch changes up to e78e274eb22d966258a3845acc71d3c5b8ee2ea8:

  NFSD: Avoid clashing function prototypes (2022-12-10 11:01:13 -0500)

----------------------------------------------------------------
NFSD 6.2 Release Notes

This release introduces support for the CB_RECALL_ANY operation.
NFSD can send this operation to request that clients return any
delegations they choose. The server uses this operation to handle
low memory scenarios or indicate to a client when that client has
reached the maximum number of delegations the server supports.

The NFSv4.2 READ_PLUS operation has been simplified temporarily
whilst support for sparse files in local filesystems and the VFS is
improved.

Two major data structure fixes appear in this release:

* The nfs4_file hash table is replaced with a resizable hash table
  to reduce the latency of NFSv4 OPEN operations.

* Reference counting in the NFSD filecache has been hardened against
  races.

In furtherance of removing support for NFSv2 in a subsequent kernel
release, a new Kconfig option enables server-side support for NFSv2
to be left out of a kernel build.

MAINTAINERS has been updated to indicate that changes to fs/exportfs
should go through the NFSD tree.

----------------------------------------------------------------
Anna Schumaker (1):
      NFSD: Simplify READ_PLUS

Brian Foster (1):
      NFSD: pass range end to vfs_fsync_range() instead of count

Chuck Lever (26):
      SUNRPC: Remove unused svc_rqst::rq_lock field
      NFSD: Finish converting the NFSv2 GETACL result encoder
      NFSD: Finish converting the NFSv3 GETACL result encoder
      NFSD: Pass the target nfsd_file to nfsd_commit()
      NFSD: Revert "NFSD: NFSv4 CLOSE should release an nfsd_file immediately"
      NFSD: Add an NFSD_FILE_GC flag to enable nfsd_file garbage collection
      NFSD: Flesh out a documenting comment for filecache.c
      NFSD: Clean up nfs4_preprocess_stateid_op() call sites
      NFSD: Trace stateids returned via DELEGRETURN
      NFSD: Trace delegation revocations
      NFSD: Use const pointers as parameters to fh_ helpers
      NFSD: Update file_hashtbl() helpers
      NFSD: Clean up nfsd4_init_file()
      NFSD: Add a nfsd4_file_hash_remove() helper
      NFSD: Clean up find_or_add_file()
      NFSD: Refactor find_file()
      NFSD: Use rhashtable for managing nfs4_file objects
      NFSD: Fix licensing header in filecache.c
      MAINTAINERS: NFSD should be responsible for fs/exportfs
      NFSD: Add an nfsd_file_fsync tracepoint
      trace: Relocate event helper files
      SUNRPC: Don't leak netobj memory when gss_read_proxy_verf() fails
      SUNRPC: Clean up xdr_write_pages()
      NFSD: Use only RQ_DROPME to signal the need to drop a reply
      SUNRPC: Make the svc_authenticate tracepoint conditional
      SUNRPC: Fix crasher in unwrap_integ_data()

Colin Ian King (1):
      NFSD: Remove redundant assignment to variable host_err

Dai Ngo (4):
      NFSD: refactoring courtesy_client_reaper to a generic low memory shrinker
      NFSD: add support for sending CB_RECALL_ANY
      NFSD: add delegation reaper to react to low memory condition
      NFSD: add CB_RECALL_ANY tracepoints

David Disseldorp (1):
      exportfs: use pr_debug for unreachable debug statements

Jeff Layton (11):
      nfsd: ignore requests to disable unsupported versions
      nfsd: move nfserrno() to vfs.c
      nfsd: allow disabling NFSv2 at compile time
      nfsd: don't call nfsd_file_put from client states seqfile display
      nfsd: remove the pages_flushed statistic from filecache
      nfsd: reorganize filecache.c
      nfsd: fix up the filecache laundrette scheduling
      nfsd: return error if nfs4_setacl fails
      lockd: set missing fl_flags field when retrieving args
      lockd: ensure we use the correct file descriptor when unlocking
      lockd: fix file selection in nlmsvc_cancel_blocked

Kees Cook (1):
      NFSD: Avoid clashing function prototypes

Li zeming (1):
      sunrpc: svc: Remove an unused static function svc_ungetu32()

Trond Myklebust (1):
      lockd: set other missing fields when unlocking files

Xiu Jianfeng (1):
      NFSD: Use struct_size() helper in alloc_session()

 MAINTAINERS                                           |   8 ++
 drivers/infiniband/core/cm_trace.h                    |   2 +-
 drivers/infiniband/core/cma_trace.h                   |   2 +-
 fs/exportfs/expfs.c                                   |   8 +-
 fs/lockd/svc4proc.c                                   |   1 +
 fs/lockd/svclock.c                                    |  17 ++--
 fs/lockd/svcproc.c                                    |   1 +
 fs/lockd/svcsubs.c                                    |  17 ++--
 fs/nfs/nfs4trace.h                                    |   6 +-
 fs/nfs/nfstrace.h                                     |   6 +-
 fs/nfsd/Kconfig                                       |  19 ++++-
 fs/nfsd/Makefile                                      |   5 +-
 fs/nfsd/blocklayout.c                                 |   1 +
 fs/nfsd/blocklayoutxdr.c                              |   1 +
 fs/nfsd/export.h                                      |   1 -
 fs/nfsd/filecache.c                                   | 241 +++++++++++++++++++++++++++++++++----------------------
 fs/nfsd/filecache.h                                   |   4 +-
 fs/nfsd/flexfilelayout.c                              |   1 +
 fs/nfsd/nfs2acl.c                                     |  10 ---
 fs/nfsd/nfs3acl.c                                     |  30 ++-----
 fs/nfsd/nfs3proc.c                                    |  10 ++-
 fs/nfsd/nfs4callback.c                                |  72 +++++++++++++++++
 fs/nfsd/nfs4idmap.c                                   |   1 +
 fs/nfsd/nfs4proc.c                                    |  49 +++++------
 fs/nfsd/nfs4state.c                                   | 345 +++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------
 fs/nfsd/nfs4xdr.c                                     | 771 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------
 fs/nfsd/nfsctl.c                                      |   6 +-
 fs/nfsd/nfsd.h                                        |   3 +-
 fs/nfsd/nfsfh.h                                       |  10 ++-
 fs/nfsd/nfsproc.c                                     |  66 +--------------
 fs/nfsd/nfssvc.c                                      |   8 +-
 fs/nfsd/state.h                                       |  11 ++-
 fs/nfsd/trace.h                                       | 144 ++++++++++++++++++++++++++++++++-
 fs/nfsd/vfs.c                                         |  83 +++++++++++++++----
 fs/nfsd/vfs.h                                         |   4 +-
 fs/nfsd/xdr4.h                                        |   5 ++
 fs/nfsd/xdr4cb.h                                      |   6 ++
 include/linux/nfs4.h                                  |  13 +++
 include/linux/sunrpc/svc.h                            |   8 --
 include/trace/events/rpcgss.h                         |   2 +-
 include/trace/events/rpcrdma.h                        |   4 +-
 include/trace/events/sunrpc.h                         |   6 +-
 include/trace/{events => misc}/fs.h                   |   0
 include/trace/{events => misc}/nfs.h                  |  12 +++
 include/trace/{events => misc}/rdma.h                 |   0
 include/trace/{events/sunrpc_base.h => misc/sunrpc.h} |   0
 net/sunrpc/auth_gss/svcauth_gss.c                     |  64 +++++++++------
 net/sunrpc/svc.c                                      |   4 +-
 net/sunrpc/xdr.c                                      |  22 ++---
 49 files changed, 1302 insertions(+), 808 deletions(-)
 rename include/trace/{events => misc}/fs.h (100%)
 rename include/trace/{events => misc}/nfs.h (96%)
 rename include/trace/{events => misc}/rdma.h (100%)
 rename include/trace/{events/sunrpc_base.h => misc/sunrpc.h} (100%)
--
Chuck Lever

Comments

pr-tracker-bot@kernel.org Dec. 13, 2022, 5 a.m. UTC | #1
The pull request you sent on Mon, 12 Dec 2022 21:46:26 +0000:

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

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

Thank you!