Hi Linus, The following changes since commit 9e1ff307c779ce1f0f810c7ecce3d95bbae40896: Linux 5.15-rc4 (2021-10-03 14:08:47 -0700) are available in the Git repository at: git://git.linux-nfs.org/projects/trondmy/linux-nfs.git tags/nfs-for-5.16-1 for you to fetch changes up to f96f8cc4a63dd645e07ea9712be4e0a76ea4ec1f: NFSv4: Sanity check the parameters in nfs41_update_target_slotid() (2021-11-07 09:23:14 -0500) Cheers, Trond ---------------------------------------------------------------- NFS client updates for Linux 5.16 Highlights include: Features: - NFSv4.1 can always retrieve and cache the ACCESS mode on OPEN - Optimisations for READDIR and the 'ls -l' style workload - Further replacements of dprintk() with tracepoints and other tracing improvements - Ensure we re-probe NFSv4 server capabilities when the user does a "mount -o remount" Bugfixes: - Fix an Oops in pnfs_mark_request_commit() - Fix up deadlocks in the commit code - Fix regressions in NFSv2/v3 attribute revalidation due to the change_attr_type optimisations - Fix some dentry verifier races - Fix some missing dentry verifier settings - Fix a performance regression in nfs_set_open_stateid_locked() - SUNRPC was sending multiple SYN calls when re-establishing a TCP connection. - Fix multiple NFSv4 issues due to missing sanity checking of server return values - Fix a potential Oops when FREE_STATEID races with an unmount Cleanups: - Clean up the labelled NFS code - Remove unused header <linux/pnfs_osd_xdr.h> ---------------------------------------------------------------- Alexey Gladkov (1): Fix user namespace leak Anna Schumaker (20): NFS: Create an nfs4_server_set_init_caps() function NFS: Move nfs_probe_destination() into the generic client NFS: Replace calls to nfs_probe_fsinfo() with nfs_probe_server() NFS: Call nfs_probe_server() during a fscontext-reconfigure event NFS: Unexport nfs_probe_fsinfo() SUNRPC: Check if the xprt is connected before handling sysfs reads NFS: Create a new nfs_alloc_fattr_with_label() function NFS: Remove the nfs4_label from the nfs_entry struct NFS: Remove the nfs4_label from the nfs4_create_res struct NFS: Remove the nfs4_label from the nfs4_link_res struct NFS: Remove the label from the nfs4_lookup_res struct NFS: Remove the nfs4_label from the nfs4_lookupp_res struct NFS: Remove the f_label from the nfs4_opendata and nfs_openres NFS: Remove the nfs4_label from the nfs4_getattr_res NFS: Remove the nfs4_label from the nfs_setattrres NFS: Remove the nfs4_label argument from nfs_instantiate() NFS: Remove the nfs4_label argument from nfs_add_or_obtain() NFS: Remove the nfs4_label argument from nfs_fhget() NFS: Remove the nfs4_label argument from nfs_setsecurity NFS: Remove the nfs4_label argument from decode_getattr_*() functions Baptiste Lepers (1): pnfs/flexfiles: Fix misplaced barrier in nfs4_ff_layout_prepare_ds Benjamin Coddington (1): xprtrdma: Fix a maybe-uninitialized compiler warning Chuck Lever (12): NFS: Remove unnecessary TRACE_DEFINE_ENUM()s SUNRPC: Per-rpc_clnt task PIDs NFS: Instrument i_size_write() xprtrdma: Provide a buffer to pad Write chunks of unaligned length xprtrdma: Remove rpcrdma_ep::re_implicit_roundup SUNRPC: Tracepoints should display tk_pid and cl_clid as a fixed-size field SUNRPC: Use BIT() macro in rpc_show_xprt_state() NFS: Replace dprintk callsites in nfs_readpage(s) SUNRPC: Trace calls to .rpc_call_done NFS: Remove --> and <-- dprintk call sites NFS: Move generic FS show macros to global header NFS: Move NFS protocol display macros to global header Dave Wysochanski (2): NFS: Fix WARN_ON due to unionization of nfs_inode.nrequests NFS: Add offset to nfs_aop_readahead tracepoint Jonathan Corbet (1): nfs: remove unused header <linux/pnfs_osd_xdr.h> Olga Kornievskaia (7): NFSv4.2 add tracepoint to SEEK NFSv4.2 add tracepoints to FALLOCATE and DEALLOCATE NFSv4.2 add tracepoint to COPY NFSv4.2 add tracepoint to CLONE NFSv4.2 add tracepoint to CB_OFFLOAD NFSv4.2 add tracepoint to COPY_NOTIFY NFSv4.2 add tracepoint to OFFLOAD_CANCEL Scott Mayhew (1): nfs4: take a reference on the nfs_client when running FREE_STATEID Thiago Rafael Becker (1): sunrpc: remove unnecessary test in rpc_task_set_client() Trond Myklebust (37): NFS: Label the dentry with a verifier in nfs_link(), nfs_symlink() NFS: Label the dentry with a verifier in nfs_rmdir() and nfs_unlink() NFS: Fix up nfs_ctx_key_to_expire() SUNRPC: Partial revert of commit 6f9f17287e78 SUNRPC: Add cond_resched() at the appropriate point in __rpc_execute() SUNRPC: Remove WQ_HIGHPRI from xprtiod SUNRPC: Remove unnecessary memory barriers SUNRPC: xprt_clear_locked() only needs release memory semantics NFS: Fix a few more clear_bit() instances that need release semantics NFSv4: Retrieve ACCESS on open if we're not using NFS4_CREATE_EXCLUSIVE NFS: Default change_attr_type to NFS4_CHANGE_TYPE_IS_UNDEFINED NFS: Don't set NFS_INO_DATA_INVAL_DEFER and NFS_INO_INVALID_DATA NFS: Ignore the directory size when marking for revalidation NFS: Fix up nfs_readdir_inode_mapping_valid() NFS: Further optimisations for 'ls -l' NFS: Fix dentry verifier races NFS: Do not flush the readdir cache in nfs_dentry_iput() NFS: Remove unnecessary page cache invalidations NFS: Fix deadlocks in nfs_scan_commit_list() NFS: Fix up commit deadlocks NFS: Fix an Oops in pnfs_mark_request_commit() NFSv4: Fixes for nfs4_inode_return_delegation() NFS: Save some space in the inode NFS: Remove redundant call to __set_page_dirty_nobuffers NFSv4: Fix a regression in nfs_set_open_stateid_locked() SUNRPC: Replace use of socket sk_callback_lock with sock_lock SUNRPC: Clean up xs_tcp_setup_sock() SUNRPC: Fix races when closing the socket SUNRPC: Prevent immediate close+reconnect NFS: Don't trace an uninitialised value NFSv4: Ensure decode_compound_hdr() sanity checks the tag NFSv4: Fix potential Oops in decode_op_map() NFSv4: Remove unnecessary 'minor version' check NFS: Don't allocate nfs_fattr on the stack in __nfs42_ssc_open() NFSv4.2: alloc_file_pseudo() takes an open flag, not an f_mode NFS: Always initialise fattr->label in nfs_fattr_alloc() NFSv4: Sanity check the parameters in nfs41_update_target_slotid() fs/lockd/clntproc.c | 3 - fs/lockd/svc4proc.c | 2 - fs/lockd/svcproc.c | 2 - fs/nfs/callback_proc.c | 3 + fs/nfs/client.c | 39 +- fs/nfs/delegation.c | 10 +- fs/nfs/dir.c | 119 ++-- fs/nfs/direct.c | 2 +- fs/nfs/export.c | 44 +- fs/nfs/filelayout/filelayout.c | 2 - fs/nfs/flexfilelayout/flexfilelayout.c | 2 - fs/nfs/flexfilelayout/flexfilelayoutdev.c | 4 +- fs/nfs/getroot.c | 21 +- fs/nfs/inode.c | 130 +++-- fs/nfs/internal.h | 12 +- fs/nfs/namespace.c | 3 +- fs/nfs/nfs3proc.c | 10 +- fs/nfs/nfs3xdr.c | 2 +- fs/nfs/nfs42proc.c | 9 + fs/nfs/nfs4_fs.h | 4 +- fs/nfs/nfs4client.c | 65 +-- fs/nfs/nfs4file.c | 14 +- fs/nfs/nfs4idmap.c | 2 +- fs/nfs/nfs4proc.c | 289 ++++------ fs/nfs/nfs4session.c | 12 +- fs/nfs/nfs4session.h | 1 + fs/nfs/nfs4state.c | 5 +- fs/nfs/nfs4trace.h | 920 ++++++++++++++++-------------- fs/nfs/nfs4xdr.c | 81 ++- fs/nfs/nfstrace.h | 467 +++++++-------- fs/nfs/pagelist.c | 13 +- fs/nfs/pnfs.h | 6 +- fs/nfs/pnfs_nfs.c | 6 +- fs/nfs/proc.c | 16 +- fs/nfs/read.c | 11 +- fs/nfs/super.c | 7 +- fs/nfs/write.c | 73 +-- fs/nfsd/trace.h | 1 + include/linux/nfs4.h | 4 + include/linux/nfs_fs.h | 77 ++- include/linux/nfs_xdr.h | 16 +- include/linux/pnfs_osd_xdr.h | 317 ---------- include/linux/sunrpc/clnt.h | 1 + include/linux/sunrpc/sched.h | 16 +- include/trace/events/fs.h | 122 ++++ include/trace/events/nfs.h | 375 ++++++++++++ include/trace/events/rpcgss.h | 18 +- include/trace/events/rpcrdma.h | 55 +- include/trace/events/sunrpc.h | 99 ++-- include/trace/events/sunrpc_base.h | 18 + net/sunrpc/clnt.c | 33 +- net/sunrpc/sched.c | 20 +- net/sunrpc/sysfs.c | 12 +- net/sunrpc/xprt.c | 41 +- net/sunrpc/xprtrdma/frwr_ops.c | 48 +- net/sunrpc/xprtrdma/rpc_rdma.c | 23 +- net/sunrpc/xprtrdma/verbs.c | 3 +- net/sunrpc/xprtrdma/xprt_rdma.h | 6 +- net/sunrpc/xprtsock.c | 109 ++-- 59 files changed, 2011 insertions(+), 1814 deletions(-) delete mode 100644 include/linux/pnfs_osd_xdr.h create mode 100644 include/trace/events/fs.h create mode 100644 include/trace/events/nfs.h create mode 100644 include/trace/events/sunrpc_base.h -- Trond Myklebust Linux NFS client maintainer, Hammerspace trond.myklebust@xxxxxxxxxxxxxxx