[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <DDB7B172-52E3-4015-9BD2-9BCDE209E5AC@oracle.com>
Date: Thu, 26 May 2022 15:25:00 +0000
From: Chuck Lever III <chuck.lever@...cle.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
CC: Linux NFS Mailing List <linux-nfs@...r.kernel.org>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
Jeff Layton <jlayton@...nel.org>
Subject: [GIT PULL] nfsd changes for 5.19
Hi Linus-
As of this writing, there is one known unresolved NFSD-related
issue, documented in this thread:
https://lore.kernel.org/linux-nfs/AM9P191MB16655E3D5F3611D1B40457F08EF49@AM9P191MB1665.EURP191.PROD.OUTLOOK.COM/
It appears to be rare and has been around for a while. Diagnosis
is ongoing.
Review for "NFSD: Instantiate a struct file when creating a
regular NFSv4 file" was conducted over the past few weeks,
culminating in this thread:
https://lore.kernel.org/linux-nfs/165247056822.6691.9087206893184705325.stgit@bazille.1015granger.net/T/#m4e81166848350ca51b3d0015133c3cc4d23ada2c
A v2 of 8/8 with the requested changes was posted and no further
comments were made. The v2 version appears in this pull request.
Despite the Commit Date on the last few patches in this pull
request, those patches have been in linux-next for a couple of
days at least.
I'm not aware of any merge conflicts at this time.
--- cut here ---
The following changes since commit 42226c989789d8da4af1de0c31070c96726d990c:
Linux 5.18-rc7 (2022-05-15 18:08:58 -0700)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git tags/nfsd-5.19
for you to fetch changes up to 08af54b3e5729bc1d56ad3190af811301bdc37a1:
NFSD: nfsd_file_put() can sleep (2022-05-26 10:50:51 -0400)
----------------------------------------------------------------
NFSD 5.19 Release Notes
We introduce "courteous server" in this release. Previously NFSD
would purge open and lock state for an unresponsive client after
one lease period (typically 90 seconds). Now, after one lease
period, another client can open and lock those files and the
unresponsive client's lease is purged; otherwise if the unrespon-
sive client's open and lock state is uncontended, the server retains
that open and lock state for up to 24 hours, allowing the client's
workload to resume after a lengthy network partition.
A longstanding issue with NFSv4 file creation is also addressed.
Previously a file creation can fail internally, returning an error
to the client, but leave the newly created file in place as an
artifact. The file creation code path has been reorganized so that
internal failures and race conditions are less likely to result in
an unwanted file creation.
A fault injector has been added to help exercise paths that are run
during kernel metadata cache invalidation. These caches contain
information maintained by user space about exported filesystems.
Many of our test workloads do not trigger cache invalidation.
There is one patch that is needed to support PREEMPT_RT and a fix
for an ancient "sleep while spin-locked" splat that seems to have
become easier to hit since v5.18-rc3.
----------------------------------------------------------------
Chuck Lever (25):
NFSD: Clean up nfsd_splice_actor()
SUNRPC: Clean up svc_deferred_class trace events
SUNRPC: Cache deferral injection
SUNRPC: Make cache_req::thread_wait an unsigned long
SUNRPC: Remove dead code in svc_tcp_release_rqst()
SUNRPC: Remove svc_rqst::rq_xprt_hlen
SUNRPC: Simplify synopsis of svc_pool_for_cpu()
NFSD: Clean up nfsd3_proc_create()
NFSD: Avoid calling fh_drop_write() twice in do_nfsd_create()
NFSD: Refactor nfsd_create_setattr()
NFSD: Refactor NFSv3 CREATE
NFSD: Refactor NFSv4 OPEN(CREATE)
NFSD: Remove do_nfsd_create()
NFSD: Clean up nfsd_open_verified()
NFSD: Instantiate a struct file when creating a regular NFSv4 file
NFSD: Remove dprintk call sites from tail of nfsd4_open()
NFSD: Fix whitespace
NFSD: Move documenting comment for nfsd4_process_open2()
NFSD: Trace filecache opens
NFSD: Clean up the show_nf_flags() macro
SUNRPC: Use RMW bitops in single-threaded hot paths
NFSD: Fix possible sleep during nfsd4_release_lockowner()
NFSD: Modernize nfsd4_release_lockowner()
NFSD: Add documenting comment for nfsd4_release_lockowner()
NFSD: nfsd_file_put() can sleep
Dai Ngo (7):
NFSD: add courteous server support for thread with only delegation
NFSD: add support for share reservation conflict to courteous server
NFSD: move create/destroy of laundry_wq to init_nfsd and exit_nfsd
fs/lock: add helper locks_owner_has_blockers to check for blockers
fs/lock: add 2 callbacks to lock_manager_operations to resolve conflict
NFSD: add support for lock conflict to courteous server
NFSD: Show state of courtesy client in client info
Julian Schroeder (1):
nfsd: destroy percpu stats counters after reply cache shutdown
Sebastian Andrzej Siewior (1):
SUNRPC: Don't disable preemption while calling svc_pool_for_cpu().
Zhang Xiaoxu (2):
nfsd: Unregister the cld notifier when laundry_wq create failed
nfsd: Fix null-ptr-deref in nfsd_fill_super()
Documentation/filesystems/locking.rst | 4 ++
fs/locks.c | 61 ++++++++++++++++-
fs/nfsd/filecache.c | 54 +++++++++++++--
fs/nfsd/filecache.h | 2 +
fs/nfsd/nfs3proc.c | 141 ++++++++++++++++++++++++++++++++------
fs/nfsd/nfs4proc.c | 264 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------
fs/nfsd/nfs4state.c | 353 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------
fs/nfsd/nfs4xdr.c | 2 +-
fs/nfsd/nfscache.c | 2 +-
fs/nfsd/nfsctl.c | 20 ++++--
fs/nfsd/nfsd.h | 5 ++
fs/nfsd/state.h | 31 +++++++++
fs/nfsd/trace.h | 34 ++++++++--
fs/nfsd/vfs.c | 255 +++++++++++++++-----------------------------------------------------
fs/nfsd/vfs.h | 14 +---
fs/nfsd/xdr4.h | 1 +
fs/open.c | 42 ++++++++++++
include/linux/fs.h | 12 ++++
include/linux/sunrpc/cache.h | 8 +--
include/linux/sunrpc/svc.h | 4 +-
include/trace/events/sunrpc.h | 12 ++--
net/sunrpc/auth_gss/svcauth_gss.c | 4 +-
net/sunrpc/cache.c | 18 ++++-
net/sunrpc/debugfs.c | 3 +
net/sunrpc/fail.h | 2 +-
net/sunrpc/svc.c | 24 ++++---
net/sunrpc/svc_xprt.c | 17 ++---
net/sunrpc/svcsock.c | 19 ++----
net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 1 -
net/sunrpc/xprtrdma/svc_rdma_transport.c | 2 +-
30 files changed, 985 insertions(+), 426 deletions(-)
--
Chuck Lever
Powered by blists - more mailing lists