Hi Linus, The following changes since commit fb33c6510d5595144d585aa194d377cf74d31911: Linux 5.6-rc6 (2020-03-15 15:01:23 -0700) are available in the Git repository at: git://git.linux-nfs.org/projects/trondmy/linux-nfs.git tags/nfs-for-5.7-1 for you to fetch changes up to 93ce4af774bc3d8a72ce2271d03241c96383629d: NFS: Clean up process of marking inode stale. (2020-04-06 13:56:33 -0400) Cheers, Trond ---------------------------------------------------------------- NFS client updates for Linux 5.7 Highlights include: Stable fixes: - Fix a page leak in nfs_destroy_unlinked_subrequests() - Fix use-after-free issues in nfs_pageio_add_request() - Fix new mount code constant_table array definitions - finish_automount() requires us to hold 2 refs to the mount record Features: - Improve the accuracy of telldir/seekdir by using 64-bit cookies when possible. - Allow one RDMA active connection and several zombie connections to prevent blocking if the remote server is unresponsive. - Limit the size of the NFS access cache by default - Reduce the number of references to credentials that are taken by NFS - pNFS files and flexfiles drivers now support per-layout segment COMMIT lists. - Enable partial-file layout segments in the pNFS/flexfiles driver. - Add support for CB_RECALL_ANY to the pNFS flexfiles layout type - pNFS/flexfiles Report NFS4ERR_DELAY and NFS4ERR_GRACE errors from the DS using the layouterror mechanism. Bugfixes and cleanups: - SUNRPC: Fix krb5p regressions - Don't specify NFS version in "UDP not supported" error - nfsroot: set tcp as the default transport protocol - pnfs: Return valid stateids in nfs_layout_find_inode_by_stateid() - alloc_nfs_open_context() must use the file cred when available - Fix locking when dereferencing the delegation cred - Fix memory leaks in O_DIRECT when nfs_get_lock_context() fails - Various clean ups of the NFS O_DIRECT commit code - Clean up RDMA connect/disconnect - Replace zero-length arrays with C99-style flexible arrays ---------------------------------------------------------------- Chuck Lever (15): sunrpc: Fix gss_unwrap_resp_integ() again SUNRPC: Remove xdr_buf_read_mic() SUNRPC: Trim stack utilization in the wrap and unwrap paths xprtrdma: Enhance MR-related trace points xprtrdma: Invoke rpcrdma_ep_create() in the connect worker xprtrdma: Refactor frwr_init_mr() xprtrdma: Clean up the post_send path xprtrdma: Refactor rpcrdma_ep_connect() and rpcrdma_ep_disconnect() xprtrdma: Allocate Protection Domain in rpcrdma_ep_create() xprtrdma: Invoke rpcrdma_ia_open in the connect worker xprtrdma: Remove rpcrdma_ia::ri_flags xprtrdma: Disconnect on flushed completion xprtrdma: Merge struct rpcrdma_ia into struct rpcrdma_ep xprtrdma: Extract sockaddr from struct rdma_cm_id xprtrdma: kmalloc rpcrdma_ep separate from rpcrdma_xprt Colin Ian King (1): SUNRPC: remove redundant assignments to variable status Gustavo A. R. Silva (1): nfs: Replace zero-length array with flexible-array member Liwei Song (1): nfsroot: set tcp as the default transport protocol Misono Tomohiro (1): NFS: direct.c: Fix memory leak of dreq when nfs_get_lock_context fails Murphy Zhou (1): NFSv4.2: error out when relink swapfile Olga Kornievskaia (1): SUNRPC: fix krb5p mount to provide large enough buffer in rq_rcvsize Petr Vorel (1): NFS: Don't specify NFS version in "UDP not supported" error Scott Mayhew (1): NFS: Fix a few constant_table array definitions Trond Myklebust (63): NFS: Use the 64-bit server readdir cookies when possible NFSv4: nfs_update_inplace_delegation() should update delegation cred NFSv4/pnfs: pnfs_set_layout_stateid() should update the layout cred NFS: Ensure we time out if a delegreturn does not complete NFS: alloc_nfs_open_context() must use the file cred when available SUNRPC: Add a flag to avoid reference counts on credentials SUNRPC: Don't take a reference to the cred on synchronous tasks NFS: Assume cred is pinned by open context in I/O requests NFSv4: Avoid referencing the cred unnecessarily during NFSv4 I/O NFSv4: Avoid unnecessary credential references in layoutget NFS: Avoid referencing the cred twice in async rename/unlink NFS: Limit the size of the access cache by default pNFS/flexfiles: Report DELAY and GRACE errors from the DS to the server NFSv4/pnfs: Return valid stateids in nfs_layout_find_inode_by_stateid() NFSv4: Ensure layout headers are RCU safe NFSv4/pnfs: Clean up nfs_layout_find_inode() NFS: Add a helper nfs_client_for_each_server() NFSv4: Clean up nfs_client_return_marked_delegations() NFSv4: Clean up nfs_delegation_reap_unclaimed() NFSv4: Clean up nfs_delegation_reap_expired() NFSv4: Add support for CB_RECALL_ANY for flexfiles layouts nfs: Fix up documentation in nfs_follow_referral() and nfs_do_submount() pNFS/flexfiles: Simplify allocation of the mirror array NFS/pNFS: Refactor pnfs_generic_commit_pagelist() pNFS: Add a helper to allocate the array of buckets NFSv4/pnfs: Support a list of commit arrays in struct pnfs_ds_commit_info NFSv4/pNFS: Scan the full list of commit arrays when committing pNFS: Support per-layout segment commits in pnfs_generic_recover_commit_reqs() pNFS: Support per-layout segment commits in pnfs_generic_commit_pagelist() NFS/pNFS: Allow O_DIRECT to release the DS commitinfo NFS: commit errors should be fatal NFS: Fix O_DIRECT commit verifier handling NFS/pNFS: Support commit arrays in nfs_clear_pnfs_ds_commit_verifiers() pNFS: Add infrastructure for cleaning up per-layout commit structures pNFS: Enable per-layout segment commit structures NFS/pNFS: Add a helper pnfs_generic_search_commit_reqs() NFS: Remove bucket array from struct pnfs_ds_commit_info NFS/pNFS: Clean up pNFS commit operations NFS/pNFS: Simplify bucket layout segment reference counting NFS/pNFS: Fix pnfs_layout_mark_request_commit() invalid layout segment handling pNFS/flexfile: Don't merge layout segments if the mirrors don't match pNFS/flexfiles: Check the layout segment range before doing I/O pNFS/flexfiles: remove requirement for whole file layouts pNFS/flexfiles: Specify the layout segment range in LAYOUTGET NFS: Remove unused FLUSH_SYNC support in nfs_initiate_pgio() Merge tag 'nfs-rdma-for-5.7-1' of git://git.linux-nfs.org/projects/anna/linux-nfs NFS: Fix a page leak in nfs_destroy_unlinked_subrequests() NFS: Fix races nfs_page_group_destroy() vs nfs_destroy_unlinked_subrequests() NFS: Fix use-after-free issues in nfs_pageio_add_request() NFS: Fix a request reference leak in nfs_direct_write_clear_reqs() NFS: Fix memory leaks in nfs_pageio_stop_mirroring() NFS: Remove the redundant function nfs_pgio_has_mirroring() NFS: Clean up nfs_lock_and_join_requests() NFS: Reverse the submission order of requests in __nfs_pageio_add_request() NFS: Refactor nfs_lock_and_join_requests() NFS: Try to join page groups before an O_DIRECT retransmission NFS: finish_automount() requires us to hold 2 refs to the mount record NFS: Add a module parameter to set nfs_mountpoint_expiry_timeout NFS: Beware when dereferencing the delegation cred NFS/pnfs: Fix dereference of layout cred in pnfs_layoutcommit_inode() NFS/pnfs: Reference the layout cred in pnfs_prepare_layoutreturn() SUNRPC: Don't start a timer on an already queued rpc task NFS: Clean up process of marking inode stale. Zhouyi Zhou (1): NFS:remove redundant call to nfs_do_access fs/nfs/blocklayout/blocklayout.c | 2 +- fs/nfs/callback.h | 4 +- fs/nfs/callback_proc.c | 69 ++-- fs/nfs/delegation.c | 319 +++++++-------- fs/nfs/dir.c | 79 ++-- fs/nfs/direct.c | 197 ++++------ fs/nfs/filelayout/filelayout.c | 165 +++----- fs/nfs/flexfilelayout/flexfilelayout.c | 229 +++++------ fs/nfs/flexfilelayout/flexfilelayout.h | 2 +- fs/nfs/fs_context.c | 9 +- fs/nfs/inode.c | 28 +- fs/nfs/internal.h | 36 +- fs/nfs/namespace.c | 67 +++- fs/nfs/nfs4_fs.h | 4 +- fs/nfs/nfs4file.c | 3 + fs/nfs/nfs4namespace.c | 2 +- fs/nfs/nfs4proc.c | 19 +- fs/nfs/nfs4state.c | 24 +- fs/nfs/nfs4trace.h | 8 +- fs/nfs/nfsroot.c | 2 +- fs/nfs/nfstrace.h | 1 + fs/nfs/pagelist.c | 367 +++++++++++------- fs/nfs/pnfs.c | 241 +++++++++--- fs/nfs/pnfs.h | 143 +++++-- fs/nfs/pnfs_nfs.c | 514 ++++++++++++++++++------- fs/nfs/read.c | 2 +- fs/nfs/super.c | 35 ++ fs/nfs/unlink.c | 4 +- fs/nfs/write.c | 276 +++++++------ include/linux/nfs_fs.h | 1 + include/linux/nfs_page.h | 5 + include/linux/nfs_xdr.h | 32 +- include/linux/sunrpc/sched.h | 1 + include/linux/sunrpc/xdr.h | 1 - include/trace/events/rpcrdma.h | 153 +++----- net/sunrpc/auth_gss/auth_gss.c | 94 +++-- net/sunrpc/clnt.c | 8 +- net/sunrpc/sched.c | 22 +- net/sunrpc/xdr.c | 55 --- net/sunrpc/xprtrdma/backchannel.c | 8 +- net/sunrpc/xprtrdma/frwr_ops.c | 154 ++++---- net/sunrpc/xprtrdma/rpc_rdma.c | 32 +- net/sunrpc/xprtrdma/transport.c | 72 ++-- net/sunrpc/xprtrdma/verbs.c | 683 ++++++++++++--------------------- net/sunrpc/xprtrdma/xprt_rdma.h | 89 ++--- net/sunrpc/xprtsock.c | 2 +- 46 files changed, 2305 insertions(+), 1958 deletions(-) -- Trond Myklebust Linux NFS client maintainer, Hammerspace trond.myklebust@xxxxxxxxxxxxxxx