Hi Linus, The following changes since commit e5517c2a5a49ed5e99047008629f1cd60246ea0e: Linux 4.9-rc7 (2016-11-27 13:08:04 -0800) are available in the git repository at: git://git.linux-nfs.org/projects/trondmy/linux-nfs.git tags/nfs-for-4.10-1 for you to fetch changes up to 2549f307b5997bf5dd91071428e8090d9faa8b1b: Merge tag 'nfs-rdma-4.10-1' of git://git.linux-nfs.org/projects/anna/nfs-rdma (2016-12-10 10:31:44 -0500) Cheers Trond ---------------------------------------------------------------- NFS client updates for Linux 4.10 Highlights include: Stable bugfixes: - Fix a pnfs deadlock between read resends and layoutreturn - Don't invalidate the layout stateid while a layout return is outstanding - Don't schedule a layoutreturn if the layout stateid is marked as invalid - On a pNFS error, do not send LAYOUTGET until the LAYOUTRETURN is complete - SUNRPC: fix refcounting problems with auth_gss messages. Features: - Add client support for the NFSv4 umask attribute. - NFSv4: Correct support for flock() stateids. - Add a LAYOUTRETURN operation to CLOSE and DELEGRETURN when return-on-close is specified - Allow the pNFS/flexfiles layoutstat information to piggyback on LAYOUTRETURN - Optimise away redundant GETATTR calls when doing state recovery and/or when not required by cache revalidation rules or close-to-open cache consistency. - Attribute cache improvements - RPC/RDMA support for SG_GAP devices Bugfixes: - NFS: Fix performance regressions in readdir - pNFS/flexfiles: Fix a deadlock on LAYOUTGET - NFSv4: Add missing nfs_put_lock_context() - NFSv4.1: Fix regression in callback retry handling - Fix false positive NFSv4.0 trunking detection. - pNFS/flexfiles: Only send layoutstats updates for mirrors that were updated - Various layout stateid related bugfixes - RPC/RDMA bugfixes ---------------------------------------------------------------- Andreas Gruenbacher (1): nfs: add support for the umask attribute Anna Schumaker (2): NFS: Remove unused authflavour parameter from nfs_get_client() NFS: Remove unused argument from nfs_direct_write_complete() Chuck Lever (12): xprtrdma: Cap size of callback buffer resources xprtrdma: Make FRWR send queue entry accounting more accurate xprtrdma: Support for SG_GAP devices SUNRPC: Proper metric accounting when RPC is not transmitted xprtrdma: Address coverity complaint about wait_for_completion() xprtrdma: Avoid calls to ro_unmap_safe() xprtrdma: Refactor FRMR invalidation xprtrdma: Update documenting comment xprtrdma: Squelch "max send, max recv" messages at connect time xprtrdma: Shorten QP access error message xprtrdma: Update dprintk in rpcrdma_count_chunks xprtrdma: Relocate connection helper functions Fred Isaman (2): NFSv4.1: Fix regression in callback retry handling pNFS/flexfiles: Fix a deadlock on LAYOUTGET J. Bruce Fields (1): nfs: fix false positives in nfs40_walk_client_list() NeilBrown (9): sunrpc: Don't engage exponential backoff when connection attempt is rejected. NFS: remove l_pid field from nfs_lockowner NFSv4: add flock_owner to open context NFSv4: change nfs4_do_setattr to take an open_context instead of a nfs4_state. NFSv4: change nfs4_select_rw_stateid to take a lock_context inplace of lock_owner NFSv4: enhance nfs4_copy_lock_stateid to use a flock stateid if there is one NFS: discard nfs_lockowner structure. NFSv4: Add missing nfs_put_lock_context() SUNRPC: fix refcounting problems with auth_gss messages. Trond Myklebust (55): NFSv4: Don't check file access when reclaiming state NFSv4: Don't ask for the change attribute when reclaiming state NFSv4: Don't request a GETATTR on open_downgrade. NFSv4: Don't request close-to-open attribute when holding a delegation NFSv4: Optimise away forced revalidation when we know the attributes are OK pNFS: Fix a deadlock between read resends and layoutreturn pNFS: Don't clear the layout stateid if a layout return is outstanding pNFS: Clear NFS_LAYOUT_RETURN_REQUESTED when invalidating the layout stateid pNFS: Force a retry of LAYOUTGET if the stateid doesn't match our cache pNFS: On error, do not send LAYOUTGET until the LAYOUTRETURN has completed pNFS: Fix race in pnfs_wait_on_layoutreturn pNFS: consolidate the different range intersection tests pNFS: Delay getting the layout header in CB_LAYOUTRECALL handlers pNFS: Do not free layout segments that are marked for return NFSv4: Ignore LAYOUTRETURN result if the layout doesn't match or is invalid pNFS: Remove spurious wake up in pnfs_layout_remove_lseg() pNFS: Skip checking for return-on-close if the layout is invalid pNFS: Get rid of unnecessary layout parameter in encode_layoutreturn callback pNFS: Don't mark layout segments invalid on layoutreturn in pnfs_roc NFSv4: Fix missing operation accounting in NFS4_dec_delegreturn_sz NFSv4: Add encode/decode of the layoutreturn op in CLOSE NFSv4: Add encode/decode of the layoutreturn op in DELEGRETURN pNFS: Clean up - add a helper to initialise struct layoutreturn_args pNFS: Enable layoutreturn operation for return-on-close pNFS: Prevent unnecessary layoutreturns after delegreturn pNFS: Clear all layout segment state in pnfs_mark_layout_stateid_invalid pNFS: Fix bugs in _pnfs_return_layout pNFS: Sync the layout state bits in pnfs_cache_lseg_for_layoutreturn pNFS: Don't mark the layout as freed if the last lseg is marked for return pNFS: Wait on outstanding layoutreturns to complete in pnfs_roc() pNFS: Skip invalid stateids when doing a bulk destroy NFS: Fix a performance regression in readdir NFS: Be more targeted about readdirplus use when doing lookup/revalidation NFS: Allow getattr to also report readdirplus cache hits pNFS/flexfiles: Don't attempt to send layoutstats if there are no entries pNFS/flexfiles: Only send layoutstats updates for mirrors that were updated NFSv4: Add a generic structure for managing layout-private information pNFS: Allow layout drivers to manage private data in struct nfs4_layoutreturn pNFS: Add a layoutreturn callback to performa layout-private setup pNFS/flexfiles: Refactor encoding of the layoutreturn payload pNFS/flexfiles: Clean up layoutstats NFS: Fix up read of mirror stats pNFS/flexfiles: Minor refactoring before adding iostats to layoutreturn pNFS/flexfiles: Support sending layoutstats in layoutreturn NFS: Fix incorrect mapping revalidation when holding a delegation NFS: Fix incorrect size revalidation when holding a delegation NFS: Only look at the change attribute cache state in nfs_check_verifier NFSv4.1: Handle NFS4ERR_BADSESSION/NFS4ERR_DEADSESSION replies to OP_SEQUENCE NFSv4.1: Don't schedule lease recovery in nfs4_schedule_session_recovery() pNFS: Release NFS_LAYOUT_RETURN when invalidating the layout stateid pNFS/flexfiles: Fix ff_layout_add_ds_error_locked() pNFS: Layoutreturn must free the layout after the layout-private data pNFS/flexfiles: Remove a redundant parameter in ff_layout_encode_ioerr() pNFS/flexfiles: Ensure we have enough buffer for layoutreturn Merge tag 'nfs-rdma-4.10-1' of git://git.linux-nfs.org/projects/anna/nfs-rdma Wei Yongjun (1): NFS: fix typo in parameter description fs/nfs/callback_proc.c | 99 +++++--- fs/nfs/client.c | 6 +- fs/nfs/delegation.c | 4 - fs/nfs/dir.c | 73 +++--- fs/nfs/direct.c | 12 +- fs/nfs/file.c | 5 +- fs/nfs/filelayout/filelayoutdev.c | 3 +- fs/nfs/flexfilelayout/flexfilelayout.c | 313 +++++++++++++++-------- fs/nfs/flexfilelayout/flexfilelayout.h | 23 +- fs/nfs/flexfilelayout/flexfilelayoutdev.c | 151 +++++++---- fs/nfs/inode.c | 51 ++-- fs/nfs/internal.h | 9 +- fs/nfs/nfs3client.c | 5 +- fs/nfs/nfs42proc.c | 9 +- fs/nfs/nfs42xdr.c | 5 +- fs/nfs/nfs4_fs.h | 2 +- fs/nfs/nfs4client.c | 32 ++- fs/nfs/nfs4file.c | 2 +- fs/nfs/nfs4proc.c | 233 +++++++++++------ fs/nfs/nfs4session.c | 2 +- fs/nfs/nfs4state.c | 27 +- fs/nfs/nfs4xdr.c | 96 +++++-- fs/nfs/objlayout/objlayout.c | 4 +- fs/nfs/objlayout/objlayout.h | 1 - fs/nfs/pagelist.c | 3 +- fs/nfs/pnfs.c | 407 ++++++++++++++++++------------ fs/nfs/pnfs.h | 77 ++++-- fs/nfs/pnfs_nfs.c | 28 +- fs/nfs/super.c | 2 +- fs/nfs/write.c | 3 +- include/linux/nfs4.h | 1 + include/linux/nfs_fs.h | 11 +- include/linux/nfs_xdr.h | 27 +- net/sunrpc/auth_gss/auth_gss.c | 7 +- net/sunrpc/clnt.c | 2 + net/sunrpc/stats.c | 10 +- net/sunrpc/xprt.c | 3 +- net/sunrpc/xprtrdma/backchannel.c | 4 +- net/sunrpc/xprtrdma/frwr_ops.c | 94 ++++--- net/sunrpc/xprtrdma/rpc_rdma.c | 36 +-- net/sunrpc/xprtrdma/transport.c | 34 ++- net/sunrpc/xprtrdma/verbs.c | 37 +-- net/sunrpc/xprtrdma/xprt_rdma.h | 31 ++- 43 files changed, 1258 insertions(+), 726 deletions(-) -- Trond Myklebust Linux NFS client maintainer, PrimaryData trond.myklebust@xxxxxxxxxxxxxxx ��.n��������+%������w��{.n�����{��w���jg��������ݢj����G�������j:+v���w�m������w�������h�����٥