Hi Linus, The following changes since commit e49d033bddf5b565044e2abe4241353959bc9120: Linux 5.12-rc6 (2021-04-04 14:15:36 -0700) are available in the Git repository at: git://git.linux-nfs.org/projects/trondmy/linux-nfs.git tags/nfs-for-5.13-1 for you to fetch changes up to 9e895cd9649abe4392c59d14e31b0f5667d082d2: xprtrdma: Fix a NULL dereference in frwr_unmap_sync() (2021-05-01 19:42:22 -0400) Thanks! Trond ---------------------------------------------------------------- NFS client updates for Linux 5.13 Highlights include: Stable fixes: - Add validation of the UDP retrans parameter to prevent shift out-of-bounds - Don't discard pNFS layout segments that are marked for return Bugfixes: - Fix a NULL dereference crash in xprt_complete_bc_request() when the NFSv4.1 server misbehaves. - Fix the handling of NFS READDIR cookie verifiers - Sundry fixes to ensure attribute revalidation works correctly when the server does not return post-op attributes. - nfs4_bitmask_adjust() must not change the server global bitmasks - Fix major timeout handling in the RPC code. - NFSv4.2 fallocate() fixes. - Fix the NFSv4.2 SEEK_HOLE/SEEK_DATA end-of-file handling - Copy offload attribute revalidation fixes - Fix an incorrect filehandle size check in the pNFS flexfiles driver - Fix several RDMA transport setup/teardown races - Fix several RDMA queue wrapping issues - Fix a misplaced memory read barrier in sunrpc's call_decode() Features: - Micro optimisation of the TCP transmission queue using TCP_CORK - statx() performance improvements by further splitting up the tracking of invalid cached file metadata. - Support the NFSv4.2 "change_attr_type" attribute and use it to optimise handling of change attribute updates. ---------------------------------------------------------------- Baptiste Lepers (1): sunrpc: Fix misplaced barrier in call_decode Benjamin Coddington (1): SUNRPC: Ensure the transport backchannel association Bhaskar Chowdhury (1): nfs: Fix a typo in the file nfs42xattr.c Chris Dion (1): SUNRPC: Handle major timeout in xprt_adjust_timeout() Chuck Lever (27): SUNRPC: Move fault injection call sites SUNRPC: Add tracepoint that fires when an RPC is retransmitted SUNRPC: Remove trace_xprt_transmit_queued xprtrdma: Avoid Receive Queue wrapping xprtrdma: Do not refresh Receive Queue while it is draining xprtrdma: Put flushed Receives on free list instead of destroying them xprtrdma: Improve locking around rpcrdma_rep destruction xprtrdma: Improve commentary around rpcrdma_reps_unmap() xprtrdma: Improve locking around rpcrdma_rep creation xprtrdma: Fix cwnd update ordering xprtrdma: Delete rpcrdma_recv_buffer_put() xprtrdma: rpcrdma_mr_pop() already does list_del_init() xprtrdma: Rename frwr_release_mr() xprtrdma: Clarify use of barrier in frwr_wc_localinv_done() xprtrdma: Do not recycle MR after FastReg/LocalInv flushes xprtrdma: Do not wake RPC consumer on a failed LocalInv xprtrdma: Avoid Send Queue wrapping xprtrdma: Add tracepoints showing FastReg WRs and remote invalidation xprtrdma: Add an rpcrdma_mr_completion_class xprtrdma: Don't display r_xprt memory addresses in tracepoints xprtrdma: Remove the RPC/RDMA QP event handler xprtrdma: Move fr_cid to struct rpcrdma_mr xprtrdma: Move cqe to struct rpcrdma_mr xprtrdma: Move fr_linv_done field to struct rpcrdma_mr xprtrdma: Move the Work Request union to struct rpcrdma_mr xprtrdma: Move fr_mr field to struct rpcrdma_mr xprtrdma: Fix a NULL dereference in frwr_unmap_sync() Dai Ngo (1): NFSv4.2: Remove ifdef CONFIG_NFSD from NFSv4.2 client SSC code. Eryu Guan (2): sunrpc: honor rpc_task's timeout value in rpcb_create() nfs: hornor timeo and retrans option when mounting NFSv3 Nagendra S Tomar (1): nfs: Subsequent READDIR calls should carry non-zero cookieverifier Nikola Livic (1): pNFS/flexfiles: fix incorrect size check in decode_nfs_fh() Olga Kornievskaia (1): NFSv4.2 fix handling of sr_eof in SEEK's reply Randy Dunlap (1): NFS: fs_context: validate UDP retrans to prevent shift out-of-bounds Trond Myklebust (47): NFSv4: Simplify nfs4_retry_setlk() SUNRPC: Set TCP_CORK until the transmit queue is empty NFS: Fix up incorrect documentation NFS: Fix handling of cookie verifier in uncached_readdir() NFS: Only change the cookie verifier if the directory page cache is empty NFS: Fix up the support for CONFIG_NFS_DISABLE_UDP_SUPPORT NFS: fix nfs_fetch_iversion() NFS: Fix fscache invalidation in nfs_set_cache_invalid() NFS: nfs4_bitmask_adjust() must not change the server global bitmasks NFS: Fix attribute bitmask in _nfs42_proc_fallocate() NFSv4.2: Always flush out writes in nfs42_proc_fallocate() NFS: Deal correctly with attribute generation counter overflow NFS: Fix up inode cache tracing NFS: Mask out unsupported attributes in nfs_getattr() NFS: NFS_INO_REVAL_PAGECACHE should mark the change attribute invalid NFS: Fix up revalidation of space used NFS: Don't revalidate attributes that are not being asked for NFS: Fix up statx() results NFS: nfs_setattr_update_inode() should clear the suid/sgid bits NFS: Add a cache validity flag argument to nfs_revalidate_inode() NFS: Replace use of NFS_INO_REVAL_PAGECACHE when checking cache validity NFS: Don't set NFS_INO_REVAL_PAGECACHE in the inode cache validity NFSv4: Fix nfs4_bitmap_copy_adjust() NFS: Separate tracking of file nlinks cache validity from the mode/uid/gid NFS: Separate tracking of file mode cache validity from the uid/gid NFS: Fix up handling of outstanding layoutcommit in nfs_update_inode() NFS: Remove a line of code that has no effect in nfs_update_inode() NFS: Simplify cache consistency in nfs_check_inode_attributes() NFSv4: Fix value of decode_fsinfo_maxsz NFSv4: Don't modify the change attribute cached in the inode NFSv4: Add support for the NFSv4.2 "change_attr_type" attribute NFS: Use information about the change attribute to optimise updates NFS: Another inode revalidation improvement NFSv4: nfs4_inc/dec_nlink_locked should also invalidate ctime NFSv4: link must update the inode nlink. NFS: Don't store NFS_INO_REVAL_FORCED NFS: Split attribute support out from the server capabilities NFSv4: Add tracing for COMPOUND errors NFSv4: Convert nfs_xdr_status tracepoint to an event class NFSv4: Catch and trace server filehandle encoding errors NFSv42: Copy offload should update the file size when appropriate NFSv42: Don't force attribute revalidation of the copy offload source NFSv4.x: Don't return NFS4ERR_NOMATCHING_LAYOUT if we're unmounting NFS: Don't discard pNFS layout segments that are marked for return NFSv4: Don't discard segments marked for return in _pnfs_return_layout() NFSv4.1: Simplify layout return in pnfs_layout_process() NFS: The 'fattr_valid' field in struct nfs_server should be unsigned int fs/Kconfig | 4 +- fs/nfs/callback_proc.c | 17 +- fs/nfs/client.c | 20 +- fs/nfs/delegation.c | 29 ++- fs/nfs/delegation.h | 3 +- fs/nfs/dir.c | 29 ++- fs/nfs/export.c | 15 +- fs/nfs/file.c | 2 +- fs/nfs/flexfilelayout/flexfilelayout.c | 2 +- fs/nfs/fs_context.c | 66 ++++-- fs/nfs/inode.c | 418 +++++++++++++++++++++------------ fs/nfs/internal.h | 2 +- fs/nfs/io.c | 2 +- fs/nfs/mount_clnt.c | 14 +- fs/nfs/nfs3acl.c | 2 +- fs/nfs/nfs3xdr.c | 5 +- fs/nfs/nfs42proc.c | 77 ++++-- fs/nfs/nfs42xattr.c | 2 +- fs/nfs/nfs4file.c | 4 - fs/nfs/nfs4proc.c | 258 +++++++++++--------- fs/nfs/nfs4state.c | 2 +- fs/nfs/nfs4trace.h | 47 +++- fs/nfs/nfs4xdr.c | 60 ++++- fs/nfs/nfstrace.c | 1 + fs/nfs/nfstrace.h | 22 +- fs/nfs/pagelist.c | 4 +- fs/nfs/pnfs.c | 11 +- fs/nfs/proc.c | 1 + fs/nfs/super.c | 6 +- fs/nfs/write.c | 7 +- fs/nfsd/Kconfig | 2 +- include/linux/nfs4.h | 9 + include/linux/nfs_fs.h | 6 +- include/linux/nfs_fs_sb.h | 13 +- include/linux/nfs_xdr.h | 13 +- include/linux/sunrpc/xprt.h | 1 + include/trace/events/rpcrdma.h | 146 ++++++------ include/trace/events/sunrpc.h | 41 +++- net/sunrpc/clnt.c | 12 +- net/sunrpc/rpcb_clnt.c | 7 +- net/sunrpc/xprt.c | 18 +- net/sunrpc/xprtrdma/backchannel.c | 4 +- net/sunrpc/xprtrdma/frwr_ops.c | 209 +++++++---------- net/sunrpc/xprtrdma/rpc_rdma.c | 39 ++- net/sunrpc/xprtrdma/transport.c | 6 +- net/sunrpc/xprtrdma/verbs.c | 131 +++++------ net/sunrpc/xprtrdma/xprt_rdma.h | 29 ++- net/sunrpc/xprtsock.c | 9 +- 48 files changed, 1112 insertions(+), 715 deletions(-) -- Trond Myklebust Linux NFS client maintainer, Hammerspace trond.myklebust@xxxxxxxxxxxxxxx