* Fwd: [GIT PULL 5.10.y] NFSD filecache fixes
[not found] <ZnCO88W37FXg5CV6@tissot.1015granger.net>
@ 2024-06-17 19:38 ` Chuck Lever III
2024-06-18 12:42 ` Greg Kroah-Hartman
0 siblings, 1 reply; 3+ messages in thread
From: Chuck Lever III @ 2024-06-17 19:38 UTC (permalink / raw)
To: Greg Kroah-Hartman, Sasha Levin; +Cc: Linux NFS Mailing List, linux-stable
Resend: Corrected email address for stable
> Begin forwarded message:
>
> From: Chuck Lever <chuck.lever@oracle.com>
> Subject: [GIT PULL 5.10.y] NFSD filecache fixes
> Date: June 17, 2024 at 3:30:59 PM EDT
> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Sasha Levin <sashal@kernel.org>
> Cc: linux-nfs@vger.kernel.org, stable@tissot.1015granger.net
>
> Hi Greg, Sasha-
>
> Here is a backport of nearly every NFSD patch from v5.11 until
> v6.3, plus subsequent fixes, onto LTS v5.10.219. This addresses
> the many NFSD filecache-related scalability problems in v5.10's
> NFSD. This also contains fixes for issues found in the v5.15
> NFSD backport over the past several months.
>
> I've run this kernel through the usual upstream CI testing for
> NFSD, and it seems solid.
>
> In lieu of sending an mbox containing all of these patches, here's
> a pull request that gives you the co-ordinates for the full series
> enabling you to handle the merge however you prefer.
>
>
> --- cut here ---
>
> The following changes since commit a2ed1606213906ac22fd66bebb34b88f8e24224b:
>
> Linux 5.10.219 (2024-06-16 13:32:37 +0200)
>
> are available in the Git repository at:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git nfsd-5.10.y
>
> for you to fetch changes up to 297ad218672e7f8d6e1f6af048c42a42760f56b1:
>
> nfsd: Fix a regression in nfsd_setattr() (2024-06-17 09:49:21 -0400)
>
> ----------------------------------------------------------------
> Al Viro (2):
> nfsd_splice_actor(): handle compound pages
> fs/notify: constify path
>
> Alex Shi (1):
> nfsd/nfs3: remove unused macro nfsd3_fhandleres
>
> Amir Goldstein (52):
> nfsd: remove unused stats counters
> nfsd: protect concurrent access to nfsd stats counters
> nfsd: report per-export stats
> fsnotify: allow fsnotify_{peek,remove}_first_event with empty queue
> fanotify: reduce event objectid to 29-bit hash
> fanotify: mix event info and pid into merge key hash
> fsnotify: use hash table for faster events merge
> fanotify: limit number of event merge attempts
> fanotify: configurable limits via sysfs
> fanotify: support limited functionality for unprivileged users
> fanotify: fix permission model of unprivileged group
> fsnotify: replace igrab() with ihold() on attach connector
> fsnotify: count s_fsnotify_inode_refs for attached connectors
> fsnotify: count all objects with attached connectors
> fsnotify: optimize the case of no marks of any type
> fsnotify: fix sb_connectors leak
> fsnotify: pass data_type to fsnotify_name()
> fsnotify: pass dentry instead of inode data
> fsnotify: clarify contract for create event hooks
> fsnotify: clarify object type argument
> fsnotify: separate mark iterator type from object type enum
> fanotify: introduce group flag FAN_REPORT_TARGET_FID
> fsnotify: generate FS_RENAME event with rich information
> fanotify: use macros to get the offset to fanotify_info buffer
> fanotify: use helpers to parcel fanotify_info buffer
> fanotify: support secondary dir fh and name in fanotify_info
> fanotify: record old and new parent and name in FAN_RENAME event
> fanotify: record either old name new name or both for FAN_RENAME
> fanotify: report old and/or new parent+name in FAN_RENAME event
> fanotify: wire up FAN_RENAME event
> fsnotify: fix merge with parent's ignored mask
> fsnotify: optimize FS_MODIFY events with no ignored masks
> fanotify: do not allow setting dirent events in mask of non-dir
> inotify: move control flags from mask to mark flags
> fsnotify: pass flags argument to fsnotify_alloc_group()
> fsnotify: make allow_dups a property of the group
> fsnotify: create helpers for group mark_mutex lock
> inotify: use fsnotify group lock helpers
> nfsd: use fsnotify group lock helpers
> dnotify: use fsnotify group lock helpers
> fsnotify: allow adding an inode mark without pinning inode
> fanotify: create helper fanotify_mark_user_flags()
> fanotify: factor out helper fanotify_mark_update_flags()
> fanotify: implement "evictable" inode marks
> fanotify: use fsnotify group lock helpers
> fanotify: enable "evictable" inode marks
> fsnotify: introduce mark type iterator
> fsnotify: consistent behavior for parent not watching children
> fanotify: refine the validation checks on non-dir inode mask
> fanotify: prepare for setting event flags in ignore mask
> fanotify: cleanups for fanotify_mark() input validations
> fanotify: introduce FAN_MARK_IGNORE
>
> Anna Schumaker (1):
> NFSD: Simplify READ_PLUS
>
> Bang Li (1):
> fsnotify: remove redundant parameter judgment
>
> Benjamin Coddington (1):
> NLM: Defend against file_lock changes after vfs_test_lock()
>
> Brian Foster (1):
> NFSD: pass range end to vfs_fsync_range() instead of count
>
> Changcheng Deng (1):
> NFSD:fix boolreturn.cocci warning
>
> ChenXiaoSong (5):
> nfsd: use DEFINE_PROC_SHOW_ATTRIBUTE to define nfsd_proc_ops
> nfsd: use DEFINE_SHOW_ATTRIBUTE to define export_features_fops and supported_enctypes_fops
> nfsd: use DEFINE_SHOW_ATTRIBUTE to define client_info_fops
> nfsd: use DEFINE_SHOW_ATTRIBUTE to define nfsd_reply_cache_stats_fops
> nfsd: use DEFINE_SHOW_ATTRIBUTE to define nfsd_file_cache_stats_fops
>
> Christian Brauner (3):
> fs: add file and path permissions helpers
> namei: introduce struct renamedata
> fanotify_user: use upper_32_bits() to verify mask
>
> Christoph Hellwig (4):
> module: unexport find_module and module_mutex
> module: use RCU to synchronize find_module
> kallsyms: refactor {,module_}kallsyms_on_each_symbol
> kallsyms: only build {,module_}kallsyms_on_each_symbol when required
>
> Christophe JAILLET (2):
> nfsd: Avoid some useless tests
> nfsd: Propagate some error code returned by memdup_user()
>
> Chuck Lever (409):
> SUNRPC: Rename svc_encode_read_payload()
> NFSD: Invoke svc_encode_result_payload() in "read" NFSD encoders
> NFSD: Clean up the show_nf_may macro
> NFSD: Remove extra "0x" in tracepoint format specifier
> NFSD: Add SPDX header for fs/nfsd/trace.c
> SUNRPC: Add xdr_set_scratch_page() and xdr_reset_scratch_buffer()
> SUNRPC: Prepare for xdr_stream-style decoding on the server-side
> NFSD: Add common helpers to decode void args and encode void results
> NFSD: Add tracepoints in nfsd_dispatch()
> NFSD: Add tracepoints in nfsd4_decode/encode_compound()
> NFSD: Replace the internals of the READ_BUF() macro
> NFSD: Replace READ* macros in nfsd4_decode_access()
> NFSD: Replace READ* macros in nfsd4_decode_close()
> NFSD: Replace READ* macros in nfsd4_decode_commit()
> NFSD: Change the way the expected length of a fattr4 is checked
> NFSD: Replace READ* macros that decode the fattr4 size attribute
> NFSD: Replace READ* macros that decode the fattr4 acl attribute
> NFSD: Replace READ* macros that decode the fattr4 mode attribute
> NFSD: Replace READ* macros that decode the fattr4 owner attribute
> NFSD: Replace READ* macros that decode the fattr4 owner_group attribute
> NFSD: Replace READ* macros that decode the fattr4 time_set attributes
> NFSD: Replace READ* macros that decode the fattr4 security label attribute
> NFSD: Replace READ* macros that decode the fattr4 umask attribute
> NFSD: Replace READ* macros in nfsd4_decode_fattr()
> NFSD: Replace READ* macros in nfsd4_decode_create()
> NFSD: Replace READ* macros in nfsd4_decode_delegreturn()
> NFSD: Replace READ* macros in nfsd4_decode_getattr()
> NFSD: Replace READ* macros in nfsd4_decode_link()
> NFSD: Relocate nfsd4_decode_opaque()
> NFSD: Add helpers to decode a clientid4 and an NFSv4 state owner
> NFSD: Add helper for decoding locker4
> NFSD: Replace READ* macros in nfsd4_decode_lock()
> NFSD: Replace READ* macros in nfsd4_decode_lockt()
> NFSD: Replace READ* macros in nfsd4_decode_locku()
> NFSD: Replace READ* macros in nfsd4_decode_lookup()
> NFSD: Add helper to decode NFSv4 verifiers
> NFSD: Add helper to decode OPEN's createhow4 argument
> NFSD: Add helper to decode OPEN's openflag4 argument
> NFSD: Replace READ* macros in nfsd4_decode_share_access()
> NFSD: Replace READ* macros in nfsd4_decode_share_deny()
> NFSD: Add helper to decode OPEN's open_claim4 argument
> NFSD: Replace READ* macros in nfsd4_decode_open()
> NFSD: Replace READ* macros in nfsd4_decode_open_confirm()
> NFSD: Replace READ* macros in nfsd4_decode_open_downgrade()
> NFSD: Replace READ* macros in nfsd4_decode_putfh()
> NFSD: Replace READ* macros in nfsd4_decode_read()
> NFSD: Replace READ* macros in nfsd4_decode_readdir()
> NFSD: Replace READ* macros in nfsd4_decode_remove()
> NFSD: Replace READ* macros in nfsd4_decode_rename()
> NFSD: Replace READ* macros in nfsd4_decode_renew()
> NFSD: Replace READ* macros in nfsd4_decode_secinfo()
> NFSD: Replace READ* macros in nfsd4_decode_setattr()
> NFSD: Replace READ* macros in nfsd4_decode_setclientid()
> NFSD: Replace READ* macros in nfsd4_decode_setclientid_confirm()
> NFSD: Replace READ* macros in nfsd4_decode_verify()
> NFSD: Replace READ* macros in nfsd4_decode_write()
> NFSD: Replace READ* macros in nfsd4_decode_release_lockowner()
> NFSD: Replace READ* macros in nfsd4_decode_cb_sec()
> NFSD: Replace READ* macros in nfsd4_decode_backchannel_ctl()
> NFSD: Replace READ* macros in nfsd4_decode_bind_conn_to_session()
> NFSD: Add a separate decoder to handle state_protect_ops
> NFSD: Add a separate decoder for ssv_sp_parms
> NFSD: Add a helper to decode state_protect4_a
> NFSD: Add a helper to decode nfs_impl_id4
> NFSD: Add a helper to decode channel_attrs4
> NFSD: Replace READ* macros in nfsd4_decode_create_session()
> NFSD: Replace READ* macros in nfsd4_decode_destroy_session()
> NFSD: Replace READ* macros in nfsd4_decode_free_stateid()
> NFSD: Replace READ* macros in nfsd4_decode_getdeviceinfo()
> NFSD: Replace READ* macros in nfsd4_decode_layoutcommit()
> NFSD: Replace READ* macros in nfsd4_decode_layoutget()
> NFSD: Replace READ* macros in nfsd4_decode_layoutreturn()
> NFSD: Replace READ* macros in nfsd4_decode_secinfo_no_name()
> NFSD: Replace READ* macros in nfsd4_decode_sequence()
> NFSD: Replace READ* macros in nfsd4_decode_test_stateid()
> NFSD: Replace READ* macros in nfsd4_decode_destroy_clientid()
> NFSD: Replace READ* macros in nfsd4_decode_reclaim_complete()
> NFSD: Replace READ* macros in nfsd4_decode_fallocate()
> NFSD: Replace READ* macros in nfsd4_decode_nl4_server()
> NFSD: Replace READ* macros in nfsd4_decode_copy()
> NFSD: Replace READ* macros in nfsd4_decode_copy_notify()
> NFSD: Replace READ* macros in nfsd4_decode_offload_status()
> NFSD: Replace READ* macros in nfsd4_decode_seek()
> NFSD: Replace READ* macros in nfsd4_decode_clone()
> NFSD: Replace READ* macros in nfsd4_decode_xattr_name()
> NFSD: Replace READ* macros in nfsd4_decode_setxattr()
> NFSD: Replace READ* macros in nfsd4_decode_listxattrs()
> NFSD: Make nfsd4_ops::opnum a u32
> NFSD: Replace READ* macros in nfsd4_decode_compound()
> NFSD: Remove macros that are no longer used
> Revert "fget: clarify and improve __fget_files() implementation"
> NFSD: Fix sparse warning in nfssvc.c
> NFSD: Restore NFSv4 decoding's SAVEMEM functionality
> SUNRPC: Make trace_svc_process() display the RPC procedure symbolically
> SUNRPC: Display RPC procedure names instead of proc numbers
> SUNRPC: Move definition of XDR_UNIT
> NFSD: Update GETATTR3args decoder to use struct xdr_stream
> NFSD: Update ACCESS3arg decoder to use struct xdr_stream
> NFSD: Update READ3arg decoder to use struct xdr_stream
> NFSD: Update WRITE3arg decoder to use struct xdr_stream
> NFSD: Update READLINK3arg decoder to use struct xdr_stream
> NFSD: Fix returned READDIR offset cookie
> NFSD: Add helper to set up the pages where the dirlist is encoded
> NFSD: Update READDIR3args decoders to use struct xdr_stream
> NFSD: Update COMMIT3arg decoder to use struct xdr_stream
> NFSD: Update the NFSv3 DIROPargs decoder to use struct xdr_stream
> NFSD: Update the RENAME3args decoder to use struct xdr_stream
> NFSD: Update the LINK3args decoder to use struct xdr_stream
> NFSD: Update the SETATTR3args decoder to use struct xdr_stream
> NFSD: Update the CREATE3args decoder to use struct xdr_stream
> NFSD: Update the MKDIR3args decoder to use struct xdr_stream
> NFSD: Update the SYMLINK3args decoder to use struct xdr_stream
> NFSD: Update the MKNOD3args decoder to use struct xdr_stream
> NFSD: Update the NFSv2 GETATTR argument decoder to use struct xdr_stream
> NFSD: Update the NFSv2 READ argument decoder to use struct xdr_stream
> NFSD: Update the NFSv2 WRITE argument decoder to use struct xdr_stream
> NFSD: Update the NFSv2 READLINK argument decoder to use struct xdr_stream
> NFSD: Add helper to set up the pages where the dirlist is encoded
> NFSD: Update the NFSv2 READDIR argument decoder to use struct xdr_stream
> NFSD: Update NFSv2 diropargs decoding to use struct xdr_stream
> NFSD: Update the NFSv2 RENAME argument decoder to use struct xdr_stream
> NFSD: Update the NFSv2 LINK argument decoder to use struct xdr_stream
> NFSD: Update the NFSv2 SETATTR argument decoder to use struct xdr_stream
> NFSD: Update the NFSv2 CREATE argument decoder to use struct xdr_stream
> NFSD: Update the NFSv2 SYMLINK argument decoder to use struct xdr_stream
> NFSD: Remove argument length checking in nfsd_dispatch()
> NFSD: Update the NFSv2 GETACL argument decoder to use struct xdr_stream
> NFSD: Add an xdr_stream-based decoder for NFSv2/3 ACLs
> NFSD: Update the NFSv2 SETACL argument decoder to use struct xdr_stream
> NFSD: Update the NFSv2 ACL GETATTR argument decoder to use struct xdr_stream
> NFSD: Update the NFSv2 ACL ACCESS argument decoder to use struct xdr_stream
> NFSD: Clean up after updating NFSv2 ACL decoders
> NFSD: Update the NFSv3 GETACL argument decoder to use struct xdr_stream
> NFSD: Update the NFSv2 SETACL argument decoder to use struct xdr_stream
> NFSD: Clean up after updating NFSv3 ACL decoders
> NFSD: Extract the svcxdr_init_encode() helper
> NFSD: Update the GETATTR3res encoder to use struct xdr_stream
> NFSD: Update the NFSv3 ACCESS3res encoder to use struct xdr_stream
> NFSD: Update the NFSv3 LOOKUP3res encoder to use struct xdr_stream
> NFSD: Update the NFSv3 wccstat result encoder to use struct xdr_stream
> NFSD: Update the NFSv3 READLINK3res encoder to use struct xdr_stream
> NFSD: Update the NFSv3 READ3res encode to use struct xdr_stream
> NFSD: Update the NFSv3 WRITE3res encoder to use struct xdr_stream
> NFSD: Update the NFSv3 CREATE family of encoders to use struct xdr_stream
> NFSD: Update the NFSv3 RENAMEv3res encoder to use struct xdr_stream
> NFSD: Update the NFSv3 LINK3res encoder to use struct xdr_stream
> NFSD: Update the NFSv3 FSSTAT3res encoder to use struct xdr_stream
> NFSD: Update the NFSv3 FSINFO3res encoder to use struct xdr_stream
> NFSD: Update the NFSv3 PATHCONF3res encoder to use struct xdr_stream
> NFSD: Update the NFSv3 COMMIT3res encoder to use struct xdr_stream
> NFSD: Add a helper that encodes NFSv3 directory offset cookies
> NFSD: Count bytes instead of pages in the NFSv3 READDIR encoder
> NFSD: Update the NFSv3 READDIR3res encoder to use struct xdr_stream
> NFSD: Update NFSv3 READDIR entry encoders to use struct xdr_stream
> NFSD: Remove unused NFSv3 directory entry encoders
> NFSD: Reduce svc_rqst::rq_pages churn during READDIR operations
> NFSD: Update the NFSv2 stat encoder to use struct xdr_stream
> NFSD: Update the NFSv2 attrstat encoder to use struct xdr_stream
> NFSD: Update the NFSv2 diropres encoder to use struct xdr_stream
> NFSD: Update the NFSv2 READLINK result encoder to use struct xdr_stream
> NFSD: Update the NFSv2 READ result encoder to use struct xdr_stream
> NFSD: Update the NFSv2 STATFS result encoder to use struct xdr_stream
> NFSD: Add a helper that encodes NFSv3 directory offset cookies
> NFSD: Count bytes instead of pages in the NFSv2 READDIR encoder
> NFSD: Update the NFSv2 READDIR result encoder to use struct xdr_stream
> NFSD: Update the NFSv2 READDIR entry encoder to use struct xdr_stream
> NFSD: Remove unused NFSv2 directory entry encoders
> NFSD: Add an xdr_stream-based encoder for NFSv2/3 ACLs
> NFSD: Update the NFSv2 GETACL result encoder to use struct xdr_stream
> NFSD: Update the NFSv2 SETACL result encoder to use struct xdr_stream
> NFSD: Update the NFSv2 ACL GETATTR result encoder to use struct xdr_stream
> NFSD: Update the NFSv2 ACL ACCESS result encoder to use struct xdr_stream
> NFSD: Clean up after updating NFSv2 ACL encoders
> NFSD: Update the NFSv3 GETACL result encoder to use struct xdr_stream
> NFSD: Update the NFSv3 SETACL result encoder to use struct xdr_stream
> NFSD: Clean up after updating NFSv3 ACL encoders
> NFSD: Add a tracepoint to record directory entry encoding
> NFSD: Clean up NFSDDBG_FACILITY macro
> SUNRPC: Export svc_xprt_received()
> Revert "fanotify: limit number of event merge attempts"
> NFSD: Add an RPC authflavor tracepoint display helper
> NFSD: Add nfsd_clid_cred_mismatch tracepoint
> NFSD: Add nfsd_clid_verf_mismatch tracepoint
> NFSD: Remove trace_nfsd_clid_inuse_err
> NFSD: Add nfsd_clid_confirmed tracepoint
> NFSD: Add nfsd_clid_reclaim_complete tracepoint
> NFSD: Add nfsd_clid_destroyed tracepoint
> NFSD: Add a couple more nfsd_clid_expired call sites
> NFSD: Add tracepoints for SETCLIENTID edge cases
> NFSD: Add tracepoints for EXCHANGEID edge cases
> NFSD: Constify @fh argument of knfsd_fh_hash()
> NFSD: Capture every CB state transition
> NFSD: Drop TRACE_DEFINE_ENUM for NFSD4_CB_<state> macros
> NFSD: Add cb_lost tracepoint
> NFSD: Adjust cb_shutdown tracepoint
> NFSD: Enhance the nfsd_cb_setup tracepoint
> NFSD: Add an nfsd_cb_lm_notify tracepoint
> NFSD: Add an nfsd_cb_offload tracepoint
> NFSD: Replace the nfsd_deleg_break tracepoint
> NFSD: Add an nfsd_cb_probe tracepoint
> NFSD: Remove the nfsd_cb_work and nfsd_cb_done tracepoints
> NFSD: Update nfsd_cb_args tracepoint
> lockd: Remove stale comments
> lockd: Create a simplified .vs_dispatch method for NLM requests
> lockd: Common NLM XDR helpers
> lockd: Update the NLMv1 void argument decoder to use struct xdr_stream
> lockd: Update the NLMv1 TEST arguments decoder to use struct xdr_stream
> lockd: Update the NLMv1 LOCK arguments decoder to use struct xdr_stream
> lockd: Update the NLMv1 CANCEL arguments decoder to use struct xdr_stream
> lockd: Update the NLMv1 UNLOCK arguments decoder to use struct xdr_stream
> lockd: Update the NLMv1 nlm_res arguments decoder to use struct xdr_stream
> lockd: Update the NLMv1 SM_NOTIFY arguments decoder to use struct xdr_stream
> lockd: Update the NLMv1 SHARE arguments decoder to use struct xdr_stream
> lockd: Update the NLMv1 FREE_ALL arguments decoder to use struct xdr_stream
> lockd: Update the NLMv1 void results encoder to use struct xdr_stream
> lockd: Update the NLMv1 TEST results encoder to use struct xdr_stream
> lockd: Update the NLMv1 nlm_res results encoder to use struct xdr_stream
> lockd: Update the NLMv1 SHARE results encoder to use struct xdr_stream
> lockd: Update the NLMv4 void arguments decoder to use struct xdr_stream
> lockd: Update the NLMv4 TEST arguments decoder to use struct xdr_stream
> lockd: Update the NLMv4 LOCK arguments decoder to use struct xdr_stream
> lockd: Update the NLMv4 CANCEL arguments decoder to use struct xdr_stream
> lockd: Update the NLMv4 UNLOCK arguments decoder to use struct xdr_stream
> lockd: Update the NLMv4 nlm_res arguments decoder to use struct xdr_stream
> lockd: Update the NLMv4 SM_NOTIFY arguments decoder to use struct xdr_stream
> lockd: Update the NLMv4 SHARE arguments decoder to use struct xdr_stream
> lockd: Update the NLMv4 FREE_ALL arguments decoder to use struct xdr_stream
> lockd: Update the NLMv4 void results encoder to use struct xdr_stream
> lockd: Update the NLMv4 TEST results encoder to use struct xdr_stream
> lockd: Update the NLMv4 nlm_res results encoder to use struct xdr_stream
> [ Upstream commit 0ff5b50ab1f7f39862d0cdf6803978d31b27f25e ]
> NFSD: Prevent a possible oops in the nfs_dirent() tracepoint
> NFSD: Clean up splice actor
> SUNRPC: Add svc_rqst_replace_page() API
> NFSD: Batch release pages during splice read
> SUNRPC: Add svc_rqst::rq_auth_stat
> SUNRPC: Set rq_auth_stat in the pg_authenticate() callout
> SUNRPC: Eliminate the RQ_AUTHERR flag
> NFS: Add a private local dispatcher for NFSv4 callback operations
> NFS: Remove unused callback void decoder
> NLM: Fix svcxdr_encode_owner()
> SUNRPC: Trace calls to .rpc_call_done
> NFSD: Optimize DRC bucket pruning
> NFSD: Have legacy NFSD WRITE decoders use xdr_stream_subsegment()
> SUNRPC: Replace the "__be32 *p" parameter to .pc_decode
> SUNRPC: Change return value type of .pc_decode
> NFSD: Save location of NFSv4 COMPOUND status
> SUNRPC: Replace the "__be32 *p" parameter to .pc_encode
> SUNRPC: Change return value type of .pc_encode
> NFSD: Fix exposure in nfsd4_decode_bitmap()
> NFSD: Fix READDIR buffer overflow
> NFSD: Fix sparse warning
> NFSD: Remove be32_to_cpu() from DRC hash function
> NFSD: Combine XDR error tracepoints
> NFSD: De-duplicate nfsd4_decode_bitmap4()
> NFSD: Fix zero-length NFSv3 WRITEs
> NFSD: Clean up nfsd_vfs_write()
> NFSD: De-duplicate net_generic(SVC_NET(rqstp), nfsd_net_id)
> NFSD: De-duplicate net_generic(nf->nf_net, nfsd_net_id)
> NFSD: Write verifier might go backwards
> NFSD: Clean up the nfsd_net::nfssvc_boot field
> NFSD: Rename boot verifier functions
> NFSD: Trace boot verifier resets
> Revert "nfsd: skip some unnecessary stats in the v4 case"
> NFSD: Move fill_pre_wcc() and fill_post_wcc()
> NFSD: Fix the behavior of READ near OFFSET_MAX
> NFSD: Fix ia_size underflow
> NFSD: Fix NFSv3 SETATTR/CREATE's handling of large file sizes
> NFSD: COMMIT operations must not return NFS?ERR_INVAL
> NFSD: Deprecate NFS_OFFSET_MAX
> NFSD: De-duplicate hash bucket indexing
> NFSD: Skip extra computation for RC_NOCACHE case
> NFSD: Streamline the rare "found" case
> SUNRPC: Remove the .svo_enqueue_xprt method
> SUNRPC: Merge svc_do_enqueue_xprt() into svc_enqueue_xprt()
> SUNRPC: Remove svo_shutdown method
> SUNRPC: Rename svc_create_xprt()
> SUNRPC: Rename svc_close_xprt()
> SUNRPC: Remove svc_shutdown_net()
> NFSD: Remove svc_serv_ops::svo_module
> NFSD: Move svc_serv_ops::svo_function into struct svc_serv
> NFSD: Remove CONFIG_NFSD_V3
> NFSD: Clean up _lm_ operation names
> NFSD: Clean up nfsd_splice_actor()
> 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: Modernize nfsd4_release_lockowner()
> NFSD: Add documenting comment for nfsd4_release_lockowner()
> NFSD: nfsd_file_put() can sleep
> NFSD: Fix potential use-after-free in nfsd_file_put()
> SUNRPC: Optimize xdr_reserve_space()
> NFSD: Decode NFSv4 birth time attribute
> SUNRPC: Fix xdr_encode_bool()
> NFSD: Demote a WARN to a pr_warn()
> NFSD: Report filecache LRU size
> NFSD: Report count of calls to nfsd_file_acquire()
> NFSD: Report count of freed filecache items
> NFSD: Report average age of filecache items
> NFSD: Add nfsd_file_lru_dispose_list() helper
> NFSD: Refactor nfsd_file_gc()
> NFSD: Refactor nfsd_file_lru_scan()
> NFSD: Report the number of items evicted by the LRU walk
> NFSD: Record number of flush calls
> NFSD: Zero counters when the filecache is re-initialized
> NFSD: Hook up the filecache stat file
> NFSD: WARN when freeing an item still linked via nf_lru
> NFSD: Trace filecache LRU activity
> NFSD: Leave open files out of the filecache LRU
> NFSD: Fix the filecache LRU shrinker
> NFSD: Never call nfsd_file_gc() in foreground paths
> NFSD: No longer record nf_hashval in the trace log
> NFSD: Remove lockdep assertion from unhash_and_release_locked()
> NFSD: nfsd_file_unhash can compute hashval from nf->nf_inode
> NFSD: Refactor __nfsd_file_close_inode()
> NFSD: nfsd_file_hash_remove can compute hashval
> NFSD: Remove nfsd_file::nf_hashval
> NFSD: Replace the "init once" mechanism
> NFSD: Set up an rhashtable for the filecache
> NFSD: Convert the filecache to use rhashtable
> NFSD: Clean up unused code after rhashtable conversion
> NFSD: Separate tracepoints for acquire and create
> NFSD: Move nfsd_file_trace_alloc() tracepoint
> NFSD: NFSv4 CLOSE should release an nfsd_file immediately
> NFSD: Ensure nf_inode is never dereferenced
> NFSD: Optimize nfsd4_encode_operation()
> NFSD: Optimize nfsd4_encode_fattr()
> NFSD: Clean up SPLICE_OK in nfsd4_encode_read()
> NFSD: Add an nfsd4_read::rd_eof field
> NFSD: Optimize nfsd4_encode_readv()
> NFSD: Simplify starting_len
> NFSD: Use xdr_pad_size()
> NFSD: Clean up nfsd4_encode_readlink()
> NFSD: Fix strncpy() fortify warning
> NFSD: nfserrno(-ENOMEM) is nfserr_jukebox
> NFSD: Shrink size of struct nfsd4_copy_notify
> NFSD: Shrink size of struct nfsd4_copy
> NFSD: Reorder the fields in struct nfsd4_op
> NFSD: Make nfs4_put_copy() static
> NFSD: Replace boolean fields in struct nfsd4_copy
> NFSD: Refactor nfsd4_cleanup_inter_ssc() (1/2)
> NFSD: Refactor nfsd4_cleanup_inter_ssc() (2/2)
> NFSD: Refactor nfsd4_do_copy()
> NFSD: Remove kmalloc from nfsd4_do_async_copy()
> NFSD: Add nfsd4_send_cb_offload()
> NFSD: Move copy offload callback arguments into a separate structure
> NFSD: Increase NFSD_MAX_OPS_PER_COMPOUND
> NFSD: Protect against send buffer overflow in NFSv2 READDIR
> NFSD: Protect against send buffer overflow in NFSv3 READDIR
> NFSD: Protect against send buffer overflow in NFSv2 READ
> NFSD: Protect against send buffer overflow in NFSv3 READ
> NFSD: Fix handling of oversized NFSv4 COMPOUND requests
> NFSD: Add tracepoints to report NFSv4 callback completions
> NFSD: Add a mechanism to wait for a DELEGRETURN
> NFSD: Refactor nfsd_setattr()
> NFSD: Make nfsd4_setattr() wait before returning NFS4ERR_DELAY
> NFSD: Make nfsd4_rename() wait before returning NFS4ERR_DELAY
> NFSD: Make nfsd4_remove() wait before returning NFS4ERR_DELAY
> SUNRPC: Parametrize how much of argsize should be zeroed
> NFSD: Reduce amount of struct nfsd4_compoundargs that needs clearing
> NFSD: Refactor common code out of dirlist helpers
> NFSD: Use xdr_inline_decode() to decode NFSv3 symlinks
> NFSD: Clean up WRITE arg decoders
> NFSD: Clean up nfs4svc_encode_compoundres()
> NFSD: Remove "inline" directives on op_rsize_bop helpers
> NFSD: Remove unused nfsd4_compoundargs::cachetype field
> NFSD: Pack struct nfsd4_compoundres
> NFSD: Rename the fields in copy_stateid_t
> NFSD: Cap rsize_bop result based on send buffer size
> NFSD: Fix reads with a non-zero offset that don't end on a page boundary
> 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
> NFSD: Add an nfsd_file_fsync tracepoint
> NFSD: Use only RQ_DROPME to signal the need to drop a reply
> Revert "SUNRPC: Use RMW bitops in single-threaded hot paths"
> NFSD: Use set_bit(RQ_DROPME)
> NFSD: copy the whole verifier in nfsd_copy_write_verifier
> NFSD: Protect against filesystem freezing
> NFSD: Avoid calling OPDESC() with ops->opnum == OP_ILLEGAL
> NFSD: Convert filecache to rhltable
> NFSD: Add an nfsd4_encode_nfstime4() helper
> nfsd: don't allow nfsd threads to be signalled.
> Documentation: Add missing documentation for EXPORT_OP flags
>
> Colin Ian King (4):
> nfsd: remove redundant assignment to pointer 'this'
> NFSD: Initialize pointer ni with NULL and not plain integer 0
> nfsd: remove redundant assignment to variable len
> NFSD: Remove redundant assignment to variable host_err
>
> Dai Ngo (26):
> NFSv4_2: SSC helper should use its own config.
> NFSv4.2: Remove ifdef CONFIG_NFSD from NFSv4.2 client SSC code.
> NFSD: delay unmount source's export after inter-server copy completed.
> nfsd: fix kernel test robot warning in SSC code
> fs/lock: documentation cleanup. Replace inode->i_lock with flc_lock.
> 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
> NFSD: refactoring v4 specific code to a helper in nfs4state.c
> NFSD: keep track of the number of v4 clients in the system
> NFSD: limit the number of v4 clients to 1024 per 1GB of system memory
> NFSD: keep track of the number of courtesy clients in the system
> NFSD: add shrinker to reap courtesy clients on low memory condition
> 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: register/unregister of nfsd-client shrinker at nfsd startup/shutdown time
> NFSD: replace delayed_work with work_struct for nfsd_client_shrinker
> NFSD: enhance inter-server copy cleanup
> NFSD: fix leaked reference count of nfsd4_ssc_umount_item
> NFSD: fix problems with cleanup on errors in nfsd4_copy
> NFSD: Fix problem of COMMIT and NFS4ERR_DELAY in infinite loop
>
> Dan Carpenter (1):
> nfsd: fix double fget() bug in __write_ports_addfd()
>
> Dave Wysochanski (1):
> nfsd4: Expose the callback address and state of each NFS4 client
>
> David Disseldorp (1):
> exportfs: use pr_debug for unreachable debug statements
>
> Eric W. Biederman (24):
> exec: Don't open code get_close_on_exec
> exec: Move unshare_files to fix posix file locking during exec
> exec: Simplify unshare_files
> exec: Remove reset_files_struct
> kcmp: In kcmp_epoll_target use fget_task
> bpf: In bpf_task_fd_query use fget_task
> proc/fd: In proc_fd_link use fget_task
> file: Rename __fcheck_files to files_lookup_fd_raw
> file: Factor files_lookup_fd_locked out of fcheck_files
> file: Replace fcheck_files with files_lookup_fd_rcu
> file: Rename fcheck lookup_fd_rcu
> file: Implement task_lookup_fd_rcu
> proc/fd: In tid_fd_mode use task_lookup_fd_rcu
> kcmp: In get_file_raw_ptr use task_lookup_fd_rcu
> file: Implement task_lookup_next_fd_rcu
> proc/fd: In proc_readfd_common use task_lookup_next_fd_rcu
> proc/fd: In fdinfo seq_show don't use get_files_struct
> file: Merge __fd_install into fd_install
> file: In f_dupfd read RLIMIT_NOFILE once.
> file: Merge __alloc_fd into alloc_fd
> file: Rename __close_fd to close_fd and remove the files parameter
> file: Replace ksys_close with close_fd
> exit: Implement kthread_exit
> exit: Rename module_put_and_exit to module_put_and_kthread_exit
>
> Gabriel Krisman Bertazi (24):
> fsnotify: Don't insert unmergeable events in hashtable
> fanotify: Fold event size calculation to its own function
> fanotify: Split fsid check from other fid mode checks
> inotify: Don't force FS_IN_IGNORED
> fsnotify: Add helper to detect overflow_event
> fsnotify: Add wrapper around fsnotify_add_event
> fsnotify: Retrieve super block from the data field
> fsnotify: Protect fsnotify_handle_inode_event from no-inode events
> fsnotify: Pass group argument to free_event
> fanotify: Support null inode event in fanotify_dfid_inode
> fanotify: Allow file handle encoding for unhashed events
> fanotify: Encode empty file handle when no inode is provided
> fanotify: Require fid_mode for any non-fd event
> fsnotify: Support FS_ERROR event type
> fanotify: Reserve UAPI bits for FAN_FS_ERROR
> fanotify: Pre-allocate pool of error events
> fanotify: Support enqueueing of error events
> fanotify: Support merging of error events
> fanotify: Wrap object_fh inline space in a creator macro
> fanotify: Add helpers to decide whether to report FID/DFID
> fanotify: WARN_ON against too large file handles
> fanotify: Report fid info for file related file system errors
> fanotify: Emit generic error info for error event
> fanotify: Allow users to request FAN_FS_ERROR events
>
> Gaosheng Cui (3):
> nfsd: remove nfsd4_prepare_cb_recall() declaration
> fsnotify: remove unused declaration
> fanotify: Remove obsoleted fanotify_event_has_path()
>
> Guobin Huang (1):
> NFSD: Use DEFINE_SPINLOCK() for spinlock
>
> Gustavo A. R. Silva (2):
> UAPI: nfsfh.h: Replace one-element array with flexible-array member
> nfsd: Fix fall-through warnings for Clang
>
> Haowen Bai (1):
> SUNRPC: Return true/false (not 1/0) from bool functions
>
> Huang Guobin (1):
> nfsd: Fix error return code in nfsd_file_cache_init()
>
> J. Bruce Fields (41):
> nfsd: only call inode_query_iversion in the I_VERSION case
> nfsd: simplify nfsd4_change_info
> nfsd: minor nfsd4_change_attribute cleanup
> nfsd4: don't query change attribute in v2/v3 case
> Revert "nfsd4: support change_attr_type attribute"
> nfsd4: simplify process_lookup1
> nfsd: simplify process_lock
> nfsd: simplify nfsd_renew
> nfsd: rename lookup_clientid->set_client
> nfsd: refactor set_client
> nfsd: find_cpntf_state cleanup
> nfsd: remove unused set_client argument
> nfsd: simplify nfsd4_check_open_reclaim
> nfsd: cstate->session->se_client -> cstate->clp
> nfs: use change attribute for NFS re-exports
> nfsd: skip some unnecessary stats in the v4 case
> nfsd: helper for laundromat expiry calculations
> nfsd: COPY with length 0 should copy to end of file
> nfsd: don't ignore high bits of copy count
> nfsd: hash nfs4_files by inode number
> nfsd: track filehandle aliasing in nfs4_files
> nfsd: reshuffle some code
> nfsd: grant read delegations to clients holding writes
> nfsd: move some commit_metadata()s outside the inode lock
> nfsd: move fsnotify on client creation outside spinlock
> nfsd: rpc_peeraddr2str needs rcu lock
> nfsd: fix NULL dereference in nfs3svc_encode_getaclres
> nlm: minor nlm_lookup_file argument change
> nlm: minor refactoring
> lockd: update nlm_lookup_file reexport comment
> Keep read and write fds with each nlm_file
> nfs: don't atempt blocking locks on nfs reexports
> lockd: don't attempt blocking locks on nfs reexports
> nfs: don't allow reexport reclaims
> nfsd: update create verifier comment
> nfsd4: remove obselete comment
> nfsd: improve stateid access bitmask documentation
> nfs: block notification on fs with its own ->lock
> nfsd: fix crash on COPY_NOTIFY with special stateid
> lockd: fix server crash on reboot of client holding lock
> lockd: fix failure to cleanup client locks
>
> Jakob Koschel (1):
> nfsd: fix using the correct variable for sizeof()
>
> Jeff Layton (58):
> nfsd: add a new EXPORT_OP_NOWCC flag to struct export_operations
> nfsd: allow filesystems to opt out of subtree checking
> nfsd: close cached files prior to a REMOVE or RENAME that would replace target
> nfsd: Add errno mapping for EREMOTEIO
> nfsd: Retry once in nfsd_open on an -EOPENSTALE return
> lockd: set fl_owner when unlocking files
> lockd: fix nlm_close_files
> nfsd: eliminate the NFSD_FILE_BREAK_* flags
> nfsd: silence extraneous printk on nfsd.ko insertion
> NFSD: drop fh argument from alloc_init_deleg
> NFSD: verify the opened dentry after setting a delegation
> lockd: detect and reject lock arguments that overflow
> nfsd: clean up mounted_on_fileid handling
> nfsd: only fill out return pointer on success in nfsd4_lookup_stateid
> nfsd: fix comments about spinlock handling with delegations
> nfsd: make nfsd4_run_cb a bool return function
> nfsd: extra checks when freeing delegation stateids
> nfsd: fix nfsd_file_unhash_and_dispose
> nfsd: rework hashtable handling in nfsd_do_file_acquire
> nfsd: fix net-namespace logic in __nfsd_file_cache_purge
> nfsd: fix use-after-free in nfsd_file_do_acquire tracepoint
> nfsd: put the export reference in nfsd4_verify_deleg_dentry
> filelock: add a new locks_inode_context accessor function
> lockd: use locks_inode_context helper
> nfsd: use locks_inode_context helper
> nfsd: ignore requests to disable unsupported versions
> nfsd: move nfserrno() to vfs.c
> nfsd: allow disabling NFSv2 at compile time
> 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
> nfsd: rework refcounting in filecache
> nfsd: fix handling of cached open files in nfsd4_open codepath
> nfsd: don't free files unconditionally in __nfsd_file_cache_purge
> nfsd: don't destroy global nfs4_file table in per-net shutdown
> nfsd: allow nfsd_file_get to sanely handle a NULL pointer
> nfsd: clean up potential nfsd_file refcount leaks in COPY codepath
> nfsd: don't hand out delegation on setuid files being opened for write
> nfsd: fix courtesy client with deny mode handling in nfs4_upgrade_open
> nfsd: don't fsync nfsd_files on last close
> lockd: set file_lock start and end when decoding nlm4 testargs
> nfsd: don't replace page in rq_pages if it's a continuation of last page
> nfsd: call op_release, even when op_func returns an error
> nfsd: don't open-code clear_and_wake_up_bit
> nfsd: NFSD_FILE_KEY_INODE only needs to find GC'ed entries
> nfsd: simplify test_bit return in NFSD_FILE_KEY_FULL comparator
> nfsd: don't kill nfsd_files because of lease break error
> nfsd: add some comments to nfsd_file_do_acquire
> nfsd: don't take/put an extra reference when putting a file
> nfsd: update comment over __nfsd_file_cache_purge
> nfsd: allow reaping files still under writeback
> nfsd: simplify the delayed disposal list code
> nfsd: make a copy of struct iattr before calling notify_change
> nfsd: drop the nfsd_put helper
>
> Jia He (2):
> sysctl: introduce new proc handler proc_dobool
> lockd: change the proc_handler for nsm_use_hostnames
>
> Jiapeng Chong (2):
> nfsd: remove unused function
> NFSD: Fix inconsistent indenting
>
> Jinpeng Cui (1):
> NFSD: remove redundant variable status
>
> Julian Schroeder (1):
> nfsd: destroy percpu stats counters after reply cache shutdown
>
> Kees Cook (1):
> NFSD: Avoid clashing function prototypes
>
> Matthew Bobrowski (5):
> kernel/pid.c: remove static qualifier from pidfd_create()
> kernel/pid.c: implement additional checks upon pidfd_create() parameters
> fanotify: minor cosmetic adjustments to fid labels
> fanotify: introduce a generic info record copying helper
> fanotify: add pidfd support to the fanotify API
>
> NeilBrown (48):
> nfsd: report client confirmation status in "info" file
> NFSD: remove vanity comments
> NFSD: move filehandle format declarations out of "uapi".
> NFSD: drop support for ancient filehandles
> NFSD: simplify struct nfsfh
> NFSD: handle errors better in write_ports_addfd()
> SUNRPC: change svc_get() to return the svc.
> SUNRPC/NFSD: clean up get/put functions.
> SUNRPC: stop using ->sv_nrthreads as a refcount
> nfsd: make nfsd_stats.th_cnt atomic_t
> SUNRPC: use sv_lock to protect updates to sv_nrthreads.
> NFSD: narrow nfsd_mutex protection in nfsd thread
> NFSD: Make it possible to use svc_set_num_threads_sync
> SUNRPC: discard svo_setup and rename svc_set_num_threads_sync()
> NFSD: simplify locking for network notifier.
> lockd: introduce nlmsvc_serv
> lockd: simplify management of network status notifiers
> lockd: move lockd_start_svc() call into lockd_create_svc()
> lockd: move svc_exit_thread() into the thread
> lockd: introduce lockd_put()
> lockd: rename lockd_create_svc() to lockd_get()
> SUNRPC: move the pool_map definitions (back) into svc.c
> SUNRPC: always treat sv_nrpools==1 as "not pooled"
> lockd: use svc_set_num_threads() for thread start and stop
> NFS: switch the callback service back to non-pooled.
> NFSD: simplify per-net file cache management
> NFS: restore module put when manager exits.
> NFSD: introduce struct nfsd_attrs
> NFSD: set attributes when creating symlinks
> NFSD: add security label to struct nfsd_attrs
> NFSD: add posix ACLs to struct nfsd_attrs
> NFSD: change nfsd_create()/nfsd_symlink() to unlock directory before returning.
> NFSD: always drop directory lock in nfsd_unlink()
> NFSD: only call fh_unlock() once in nfsd_link()
> NFSD: reduce locking in nfsd_lookup()
> NFSD: use explicit lock/unlock for directory ops
> NFSD: use (un)lock_inode instead of fh_(un)lock for file operations
> NFSD: discard fh_locked flag and fh_lock/fh_unlock
> NFSD: fix regression with setting ACLs.
> NFSD: drop fname and flen args from nfsd_create_locked()
> lockd: drop inappropriate svc_get() from locked_get()
> nfsd: Simplify code around svc_exit_thread() call in nfsd()
> nfsd: separate nfsd_last_thread() from nfsd_put()
> NFSD: fix possible oops when nfsd/pool_stats is closed.
> nfsd: call nfsd_last_thread() before final nfsd_put()
> nfsd: fix RELEASE_LOCKOWNER
> nfsd: don't take fi_lock in nfsd_break_deleg_cb()
> nfsd: don't call locks_release_private() twice concurrently
>
> Olga Kornievskaia (2):
> NFSD add vfs_fsync after async copy is done
> NFSD enforce filehandle check for source file in COPY
>
> Oliver Ford (1):
> fs: inotify: Fix typo in inotify comment
>
> Ondrej Valousek (1):
> nfsd: Add support for the birth time attribute
>
> Paul Menzel (1):
> nfsd: Log client tracking type log message as info instead of warning
>
> Peng Tao (1):
> nfsd: map EBADF
>
> Ricardo Ribalda (1):
> nfsd: Fix typo "accesible"
>
> Shakeel Butt (1):
> inotify, memcg: account inotify instances to kmemcg
>
> Tavian Barnes (1):
> nfsd: Fix creation time serialization order
>
> Tetsuo Handa (1):
> NFSD: unregister shrinker when nfsd_init_net() fails
>
> Tom Rix (1):
> NFSD: A semicolon is not needed after a switch statement.
>
> Trond Myklebust (11):
> exportfs: Add a function to return the raw output from fh_to_dentry()
> nfsd: Fix up nfsd to ensure that timeout errors don't result in ESTALE
> nfsd: Set PF_LOCAL_THROTTLE on local filesystems only
> nfsd: Record NFSv4 pre/post-op attributes as non-atomic
> NFS: fix nfs_fetch_iversion()
> nfsd: Fix a warning for nfsd_file_close_inode
> nfsd: Add a tracepoint for errors in nfsd4_clone_file_range()
> nfsd: Fix a write performance regression
> nfsd: Clean up nfsd_file_put()
> lockd: set other missing fields when unlocking files
> nfsd: Fix a regression in nfsd_setattr()
>
> Vasily Averin (3):
> nfsd: removed unused argument in nfsd_startup_generic()
> nfsd4: add refcount for nfsd4_blocked_lock
> fanotify: fix incorrect fmode_t casts
>
> Waiman Long (1):
> inotify: Increase default inotify.max_user_watches limit to 1048576
>
> Wei Yongjun (1):
> NFSD: Fix error return code in nfsd4_interssc_connect()
>
> Wolfram Sang (2):
> NFSD: move from strlcpy with unused retval to strscpy
> lockd: move from strlcpy with unused retval to strscpy
>
> Xin Gao (1):
> fsnotify: Fix comment typo
>
> Xingyuan Mo (1):
> NFSD: fix use-after-free in nfsd4_ssc_setup_dul()
>
> Xiu Jianfeng (1):
> NFSD: Use struct_size() helper in alloc_session()
>
> Yang Li (1):
> fanotify: remove variable set but not used
>
> Yu Hsiang Huang (1):
> nfsd: Prevent truncation of an unlinked inode from blocking access to its directory
>
> Zhang Jiaming (1):
> NFSD: Fix space and spelling mistake
>
> Zhang Xiaoxu (2):
> nfsd: Unregister the cld notifier when laundry_wq create failed
> nfsd: Fix null-ptr-deref in nfsd_fill_super()
>
> Zheng Yongjun (1):
> fs/lockd: convert comma to semicolon
>
> Documentation/filesystems/files.rst | 8 +-
> Documentation/filesystems/locking.rst | 10 +-
> Documentation/filesystems/nfs/exporting.rst | 78 +++++
> arch/powerpc/platforms/cell/spufs/coredump.c | 2 +-
> crypto/algboss.c | 4 +-
> fs/Kconfig | 6 +-
> fs/autofs/dev-ioctl.c | 5 +-
> fs/cachefiles/namei.c | 9 +-
> fs/cifs/connect.c | 2 +-
> fs/coredump.c | 5 +-
> fs/ecryptfs/inode.c | 10 +-
> fs/exec.c | 29 +-
> fs/exportfs/expfs.c | 40 ++-
> fs/file.c | 177 +++++------
> fs/init.c | 6 +-
> fs/lockd/clnt4xdr.c | 9 +-
> fs/lockd/clntproc.c | 3 -
> fs/lockd/host.c | 4 +-
> fs/lockd/svc.c | 262 +++++++--------
> fs/lockd/svc4proc.c | 70 +++-
> fs/lockd/svclock.c | 67 ++--
> fs/lockd/svcproc.c | 62 +++-
> fs/lockd/svcsubs.c | 123 +++++---
> fs/lockd/svcxdr.h | 142 +++++++++
> fs/lockd/xdr.c | 448 +++++++++++++-------------
> fs/lockd/xdr4.c | 472 +++++++++++++--------------
> fs/locks.c | 102 ++++--
> fs/namei.c | 21 +-
> fs/nfs/blocklayout/blocklayout.c | 2 +-
> fs/nfs/blocklayout/dev.c | 2 +-
> fs/nfs/callback.c | 111 ++-----
> fs/nfs/callback_xdr.c | 33 +-
> fs/nfs/dir.c | 2 +-
> fs/nfs/export.c | 17 +
> fs/nfs/file.c | 3 +
> fs/nfs/filelayout/filelayout.c | 4 +-
> fs/nfs/filelayout/filelayoutdev.c | 2 +-
> fs/nfs/flexfilelayout/flexfilelayout.c | 4 +-
> fs/nfs/flexfilelayout/flexfilelayoutdev.c | 2 +-
> fs/nfs/nfs42xdr.c | 2 +-
> fs/nfs/nfs4state.c | 2 +-
> fs/nfs/nfs4xdr.c | 6 +-
> fs/nfs/pagelist.c | 3 -
> fs/nfs/super.c | 8 +
> fs/nfs/write.c | 3 -
> fs/nfs_common/Makefile | 2 +-
> fs/nfs_common/nfs_ssc.c | 2 -
> fs/nfs_common/nfsacl.c | 123 ++++++++
> fs/nfsd/Kconfig | 36 ++-
> fs/nfsd/Makefile | 8 +-
> fs/nfsd/acl.h | 6 +-
> fs/nfsd/blocklayout.c | 1 +
> fs/nfsd/blocklayoutxdr.c | 1 +
> fs/nfsd/cache.h | 2 +-
> fs/nfsd/export.c | 74 ++++-
> fs/nfsd/export.h | 16 +-
> fs/nfsd/filecache.c | 1229 ++++++++++++++++++++++++++++++++++++++++-------------------------------
> fs/nfsd/filecache.h | 23 +-
> fs/nfsd/flexfilelayout.c | 3 +-
> fs/nfsd/lockd.c | 10 +-
> fs/nfsd/netns.h | 63 ++--
> fs/nfsd/nfs2acl.c | 214 +++++--------
> fs/nfsd/nfs3acl.c | 140 ++++----
> fs/nfsd/nfs3proc.c | 396 +++++++++++++++--------
> fs/nfsd/nfs3xdr.c | 1763 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------
> fs/nfsd/nfs4acl.c | 45 +--
> fs/nfsd/nfs4callback.c | 168 +++++++---
> fs/nfsd/nfs4idmap.c | 9 +-
> fs/nfsd/nfs4layouts.c | 4 +-
> fs/nfsd/nfs4proc.c | 1111 ++++++++++++++++++++++++++++++++++++++++------------------------
> fs/nfsd/nfs4recover.c | 20 +-
> fs/nfsd/nfs4state.c | 1725 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------
> fs/nfsd/nfs4xdr.c | 3763 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------
> fs/nfsd/nfscache.c | 115 ++++---
> fs/nfsd/nfsctl.c | 169 +++++-----
> fs/nfsd/nfsd.h | 50 ++-
> fs/nfsd/nfsfh.c | 291 +++++++++--------
> fs/nfsd/nfsfh.h | 179 +++++------
> fs/nfsd/nfsproc.c | 262 ++++++++-------
> fs/nfsd/nfssvc.c | 356 ++++++++++-----------
> fs/nfsd/nfsxdr.c | 834 +++++++++++++++++++++++++-----------------------
> fs/nfsd/state.h | 69 +++-
> fs/nfsd/stats.c | 126 +++++---
> fs/nfsd/stats.h | 96 ++++--
> fs/nfsd/trace.c | 1 +
> fs/nfsd/trace.h | 894 ++++++++++++++++++++++++++++++++++++++++++++++------
> fs/nfsd/vfs.c | 931 +++++++++++++++++++++++++++---------------------------
> fs/nfsd/vfs.h | 60 ++--
> fs/nfsd/xdr.h | 68 ++--
> fs/nfsd/xdr3.h | 116 ++++---
> fs/nfsd/xdr4.h | 127 ++++----
> fs/nfsd/xdr4cb.h | 6 +
> fs/notify/dnotify/dnotify.c | 17 +-
> fs/notify/fanotify/fanotify.c | 487 +++++++++++++++++++++-------
> fs/notify/fanotify/fanotify.h | 252 +++++++++++++--
> fs/notify/fanotify/fanotify_user.c | 882 +++++++++++++++++++++++++++++++++++++++++----------
> fs/notify/fdinfo.c | 19 +-
> fs/notify/fsnotify.c | 183 ++++++-----
> fs/notify/fsnotify.h | 19 +-
> fs/notify/group.c | 38 ++-
> fs/notify/inotify/inotify.h | 11 +-
> fs/notify/inotify/inotify_fsnotify.c | 12 +-
> fs/notify/inotify/inotify_user.c | 87 +++--
> fs/notify/mark.c | 172 ++++++----
> fs/notify/notification.c | 78 ++---
> fs/open.c | 49 ++-
> fs/overlayfs/overlayfs.h | 9 +-
> fs/proc/fd.c | 48 +--
> fs/udf/file.c | 2 +-
> fs/verity/enable.c | 2 +-
> include/linux/dnotify.h | 2 +-
> include/linux/errno.h | 1 +
> include/linux/exportfs.h | 15 +
> include/linux/fanotify.h | 74 ++++-
> include/linux/fdtable.h | 37 ++-
> include/linux/fs.h | 54 +++-
> include/linux/fsnotify.h | 77 +++--
> include/linux/fsnotify_backend.h | 372 ++++++++++++++++++----
> include/linux/iversion.h | 13 +
> include/linux/kallsyms.h | 17 +-
> include/linux/kthread.h | 1 +
> include/linux/lockd/bind.h | 3 +-
> include/linux/lockd/lockd.h | 17 +-
> include/linux/lockd/xdr.h | 35 +-
> include/linux/lockd/xdr4.h | 33 +-
> include/linux/module.h | 24 +-
> include/linux/nfs.h | 8 -
> include/linux/nfs4.h | 21 +-
> include/linux/nfs_ssc.h | 14 +
> include/linux/nfsacl.h | 6 +
> include/linux/pid.h | 1 +
> include/linux/sched/user.h | 3 -
> include/linux/sunrpc/msg_prot.h | 3 -
> include/linux/sunrpc/svc.h | 151 +++++----
> include/linux/sunrpc/svc_rdma.h | 4 +-
> include/linux/sunrpc/svc_xprt.h | 16 +-
> include/linux/sunrpc/svcauth.h | 4 +-
> include/linux/sunrpc/svcsock.h | 7 +-
> include/linux/sunrpc/xdr.h | 153 ++++++++-
> include/linux/syscalls.h | 12 -
> include/linux/sysctl.h | 2 +
> include/linux/user_namespace.h | 4 +
> include/trace/events/sunrpc.h | 26 +-
> include/uapi/linux/fanotify.h | 42 +++
> include/uapi/linux/nfs3.h | 6 +
> include/uapi/linux/nfsd/nfsfh.h | 105 ------
> kernel/audit_fsnotify.c | 8 +-
> kernel/audit_tree.c | 2 +-
> kernel/audit_watch.c | 5 +-
> kernel/bpf/inode.c | 2 +-
> kernel/bpf/syscall.c | 20 +-
> kernel/bpf/task_iter.c | 2 +-
> kernel/fork.c | 12 +-
> kernel/kallsyms.c | 8 +-
> kernel/kcmp.c | 29 +-
> kernel/kthread.c | 23 +-
> kernel/livepatch/core.c | 7 +-
> kernel/module.c | 26 +-
> kernel/pid.c | 15 +-
> kernel/sys.c | 2 +-
> kernel/sysctl.c | 54 +++-
> kernel/trace/trace_kprobe.c | 4 +-
> kernel/ucount.c | 4 +
> mm/madvise.c | 2 +-
> mm/memcontrol.c | 2 +-
> mm/mincore.c | 2 +-
> net/bluetooth/bnep/core.c | 2 +-
> net/bluetooth/cmtp/core.c | 2 +-
> net/bluetooth/hidp/core.c | 2 +-
> net/sunrpc/auth_gss/gss_rpc_xdr.c | 2 +-
> net/sunrpc/auth_gss/svcauth_gss.c | 47 +--
> net/sunrpc/sched.c | 1 +
> net/sunrpc/svc.c | 314 +++++++++---------
> net/sunrpc/svc_xprt.c | 104 +++---
> net/sunrpc/svcauth.c | 8 +-
> net/sunrpc/svcauth_unix.c | 18 +-
> net/sunrpc/svcsock.c | 32 +-
> net/sunrpc/xdr.c | 112 +++++--
> net/sunrpc/xprtrdma/svc_rdma_backchannel.c | 2 +-
> net/sunrpc/xprtrdma/svc_rdma_sendto.c | 32 +-
> net/sunrpc/xprtrdma/svc_rdma_transport.c | 2 +-
> net/unix/af_unix.c | 2 +-
> tools/objtool/check.c | 3 +-
> 183 files changed, 13910 insertions(+), 8823 deletions(-)
> create mode 100644 fs/lockd/svcxdr.h
> delete mode 100644 include/uapi/linux/nfsd/nfsfh.h
>
> --
> Chuck Lever
>
--
Chuck Lever
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Fwd: [GIT PULL 5.10.y] NFSD filecache fixes
2024-06-17 19:38 ` Fwd: [GIT PULL 5.10.y] NFSD filecache fixes Chuck Lever III
@ 2024-06-18 12:42 ` Greg Kroah-Hartman
2024-06-18 13:30 ` Chuck Lever III
0 siblings, 1 reply; 3+ messages in thread
From: Greg Kroah-Hartman @ 2024-06-18 12:42 UTC (permalink / raw)
To: Chuck Lever III; +Cc: Sasha Levin, Linux NFS Mailing List, linux-stable
On Mon, Jun 17, 2024 at 07:38:30PM +0000, Chuck Lever III wrote:
> Resend: Corrected email address for stable
>
>
> > Begin forwarded message:
> >
> > From: Chuck Lever <chuck.lever@oracle.com>
> > Subject: [GIT PULL 5.10.y] NFSD filecache fixes
> > Date: June 17, 2024 at 3:30:59 PM EDT
> > To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Sasha Levin <sashal@kernel.org>
> > Cc: linux-nfs@vger.kernel.org, stable@tissot.1015granger.net
> >
> > Hi Greg, Sasha-
> >
> > Here is a backport of nearly every NFSD patch from v5.11 until
> > v6.3, plus subsequent fixes, onto LTS v5.10.219. This addresses
> > the many NFSD filecache-related scalability problems in v5.10's
> > NFSD. This also contains fixes for issues found in the v5.15
> > NFSD backport over the past several months.
> >
> > I've run this kernel through the usual upstream CI testing for
> > NFSD, and it seems solid.
> >
> > In lieu of sending an mbox containing all of these patches, here's
> > a pull request that gives you the co-ordinates for the full series
> > enabling you to handle the merge however you prefer.
Sasha queued these all up, and I've pushed out a -rc release with _just_
these commits in it, so that it is easier to test and track regressions
for :)
thanks,
greg k-h
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [GIT PULL 5.10.y] NFSD filecache fixes
2024-06-18 12:42 ` Greg Kroah-Hartman
@ 2024-06-18 13:30 ` Chuck Lever III
0 siblings, 0 replies; 3+ messages in thread
From: Chuck Lever III @ 2024-06-18 13:30 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Sasha Levin, Linux NFS Mailing List, linux-stable
> On Jun 18, 2024, at 8:42 AM, Greg Kroah-Hartman <gregkh@linuxfoundation.org> wrote:
>
> On Mon, Jun 17, 2024 at 07:38:30PM +0000, Chuck Lever III wrote:
>> Resend: Corrected email address for stable
>>
>>
>>> Begin forwarded message:
>>>
>>> From: Chuck Lever <chuck.lever@oracle.com>
>>> Subject: [GIT PULL 5.10.y] NFSD filecache fixes
>>> Date: June 17, 2024 at 3:30:59 PM EDT
>>> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Sasha Levin <sashal@kernel.org>
>>> Cc: linux-nfs@vger.kernel.org, stable@tissot.1015granger.net
>>>
>>> Hi Greg, Sasha-
>>>
>>> Here is a backport of nearly every NFSD patch from v5.11 until
>>> v6.3, plus subsequent fixes, onto LTS v5.10.219. This addresses
>>> the many NFSD filecache-related scalability problems in v5.10's
>>> NFSD. This also contains fixes for issues found in the v5.15
>>> NFSD backport over the past several months.
>>>
>>> I've run this kernel through the usual upstream CI testing for
>>> NFSD, and it seems solid.
>>>
>>> In lieu of sending an mbox containing all of these patches, here's
>>> a pull request that gives you the co-ordinates for the full series
>>> enabling you to handle the merge however you prefer.
>
> Sasha queued these all up, and I've pushed out a -rc release with _just_
> these commits in it, so that it is easier to test and track regressions
> for :)
Awesome. Thank you both!
--
Chuck Lever
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-06-18 13:31 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <ZnCO88W37FXg5CV6@tissot.1015granger.net>
2024-06-17 19:38 ` Fwd: [GIT PULL 5.10.y] NFSD filecache fixes Chuck Lever III
2024-06-18 12:42 ` Greg Kroah-Hartman
2024-06-18 13:30 ` Chuck Lever III
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).