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