[GIT PULL] NFSD changes for v6.15
From: cel
Date: Fri Mar 28 2025 - 09:52:57 EST
The following changes since commit 80e54e84911a923c40d7bee33a34c1b4be148d7a:
Linux 6.14-rc6 (2025-03-09 13:45:25 -1000)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git tags/nfsd-6.15
for you to fetch changes up to 26a80762153ba0dc98258b5e6d2e9741178c5114:
NFSD: Add a Kconfig setting to enable delegated timestamps (2025-03-14 10:49:47 -0400)
----------------------------------------------------------------
NFSD 6.15 Release Notes
Neil Brown contributed more scalability improvements to NFSD's
open file cache, and Jeff Layton contributed a menagerie of
repairs to NFSD's NFSv4 callback / backchannel implementation.
Mike Snitzer contributed a change to NFS re-export support that
disables support for file locking on a re-exported NFSv4 mount.
This is because NFSv4 state recovery is currently difficult if
not impossible for re-exported NFS mounts. The change aims to
prevent data integrity exposures after the re-export server
crashes.
Work continues on the evolving NFSD netlink administrative API.
Many thanks to the contributors, reviewers, testers, and bug
reporters who participated during the v6.15 development cycle.
----------------------------------------------------------------
Chuck Lever (9):
NFSD: Skip sending CB_RECALL_ANY when the backchannel isn't up
NFSD: nfsd_unlink() clobbers non-zero status returned from fh_fill_pre_attrs()
NFSD: Never return NFS4ERR_FILE_OPEN when removing a directory
NFSD: Return NFS4ERR_FILE_OPEN only when renaming over an open file
NFSD: Return NFS4ERR_FILE_OPEN only when linking an open file
NFSD: Fix trace_nfsd_slot_seqid_sequence
NFSD: Fix callback decoder status codes
NFSD: Re-organize nfsd_file_gc_worker()
NFSD: Add a Kconfig setting to enable delegated timestamps
Dr. David Alan Gilbert (2):
SUNRPC: Remove unused krb5_decrypt
SUNRPC: Remove unused make_checksum
Gustavo A. R. Silva (1):
fs: nfs: acl: Avoid -Wflex-array-member-not-at-end warning
Jeff Layton (19):
lockd: add netlink control interface
nfsd: don't ignore the return code of svc_proc_register()
nfsd: allow SC_STATUS_FREEABLE when searching via nfs4_lookup_stateid()
nfsd: prepare nfsd4_cb_sequence_done() for error handling rework
nfsd: lift NFSv4.0 handling out of nfsd4_cb_sequence_done()
nfsd: always release slot when requeueing callback
nfsd: only check RPC_SIGNALLED() when restarting rpc_task
nfsd: when CB_SEQUENCE gets ESERVERFAULT don't increment seq_nr
nfsd: handle NFS4ERR_BADSLOT on CB_SEQUENCE better
nfsd: eliminate special handling of NFS4ERR_SEQ_MISORDERED
nfsd: prevent callback tasks running concurrently
nfsd: eliminate cl_ra_cblist and NFSD4_CLIENT_CB_RECALL_ANY
nfsd: replace CB_GETATTR_BUSY with NFSD4_CALLBACK_RUNNING
nfsd: move cb_need_restart flag into cb_flags
nfsd: handle errors from rpc_call_async()
nfsd: reorganize struct nfs4_delegation for better packing
nfsd: remove unneeded forward declaration of nfsd4_mark_cb_fault()
nfsd: remove obsolete comment from nfs4_alloc_stid
nfsd: use a long for the count in nfsd4_state_shrinker_count()
Li Lingfeng (3):
sunrpc: clean cache_detail immediately when flush is written frequently
nfsd: remove the redundant mapping of nfserr_mlink
nfsd: put dl_stid if fail to queue dl_recall
Mike Snitzer (1):
nfsd: disallow file locking and delegations for NFSv4 reexport
NeilBrown (6):
nfsd: filecache: remove race handling.
nfsd: filecache: use nfsd_file_dispose_list() in nfsd_file_close_inode_sync()
nfsd: filecache: use list_lru_walk_node() in nfsd_file_gc()
nfsd: filecache: introduce NFSD_FILE_RECENT
nfsd: filecache: don't repeatedly add/remove files on the lru list
nfsd: filecache: drop the list_lru lock during lock gc scans
Nicolas Bouchinet (1):
sysctl: Fixes nsm_local_state bounds
Olga Kornievskaia (3):
nfsd: fix management of listener transports
nfsd: adjust WARN_ON_ONCE in revoke_delegation
svcrdma: do not unregister device for listeners
Documentation/filesystems/nfs/reexport.rst | 10 +-
Documentation/netlink/specs/lockd.yaml | 45 +++++++++
fs/lockd/Makefile | 2 +-
fs/lockd/netlink.c | 44 +++++++++
fs/lockd/netlink.h | 19 ++++
fs/lockd/netns.h | 3 +
fs/lockd/svc.c | 123 ++++++++++++++++++++++--
fs/nfs/export.c | 3 +-
fs/nfs_common/nfsacl.c | 8 +-
fs/nfsd/Kconfig | 12 ++-
fs/nfsd/filecache.c | 122 +++++++++++++-----------
fs/nfsd/filecache.h | 7 ++
fs/nfsd/nfs4callback.c | 146 ++++++++++++++++-------------
fs/nfsd/nfs4layouts.c | 7 +-
fs/nfsd/nfs4proc.c | 2 +-
fs/nfsd/nfs4state.c | 114 ++++++++++++++--------
fs/nfsd/nfsctl.c | 53 ++++++-----
fs/nfsd/state.h | 20 ++--
fs/nfsd/stats.c | 4 +-
fs/nfsd/stats.h | 2 +-
fs/nfsd/trace.h | 24 ++++-
fs/nfsd/vfs.c | 106 +++++++++++++++------
include/linux/exportfs.h | 14 ++-
include/linux/posix_acl.h | 11 ++-
include/uapi/linux/lockd_netlink.h | 29 ++++++
net/sunrpc/auth_gss/gss_krb5_crypto.c | 144 ----------------------------
net/sunrpc/auth_gss/gss_krb5_internal.h | 7 --
net/sunrpc/cache.c | 6 +-
net/sunrpc/xprtrdma/svc_rdma_transport.c | 3 +-
29 files changed, 685 insertions(+), 405 deletions(-)
create mode 100644 Documentation/netlink/specs/lockd.yaml
create mode 100644 fs/lockd/netlink.c
create mode 100644 fs/lockd/netlink.h
create mode 100644 include/uapi/linux/lockd_netlink.h