[GIT PULL] Please pull NFS client changes for Linux 4.9

From: Anna Schumaker
Date: Thu Oct 13 2016 - 16:21:39 EST

Hi Linus,

The following changes since commit 3be7988674ab33565700a37b210f502563d932e6:

Linux 4.8-rc7 (2016-09-18 17:27:41 -0700)

are available in the git repository at:

git://git.linux-nfs.org/projects/anna/linux-nfs.git tags/nfs-for-4.9-1

for you to fetch changes up to 3f807e5ae5597bd65a6fff684083e8eaa21f3fa7:

NFSv4.2: Fix a reference leak in nfs42_proc_layoutstats_generic (2016-10-04 16:30:54 -0400)

The patch "nfs: add a new NFS4_OPEN_RESULT_MAY_NOTIFY_LOCK constant" is also included in Bruce's NFSD pull request since it modifies shared code between the client and the server.


Amitoj Kaur Chawla (1):
sunrpc: Remove unnecessary variable

Andy Adamson (12):
NFS setup async exchange_id
NFS refactor nfs4_match_clientids
NFS refactor nfs4_check_serverowner_major_id
NFS detect session trunking
SUNRPC remove rpc_task_release_client from rpc_task_set_client
SUNRPC rpc_clnt_xprt_switch_put
SUNRPC rpc_clnt_xprt_switch_add_xprt
SUNRPC search xprt switch for sockaddr
SUNRPC: rpc_clnt_add_xprt setup function for NFS layer
NFS add xprt switch addrs test to match client
NFS test session trunking with exchange id
NFS pnfs data server multipath session trunking

Chao Yu (1):
nfs: cover ->migratepage with CONFIG_MIGRATION

Chuck Lever (22):
xprtrdma: Eliminate INLINE_THRESHOLD macros
SUNRPC: Refactor rpc_xdr_buf_init()
SUNRPC: Generalize the RPC buffer allocation API
SUNRPC: Generalize the RPC buffer release API
SUNRPC: Separate buffer pointers for RPC Call and Reply messages
SUNRPC: Add a transport-specific private field in rpc_rqst
xprtrdma: Initialize separate RPC call and reply buffers
xprtrdma: Use smaller buffers for RPC-over-RDMA headers
xprtrdma: Replace DMA_BIDIRECTIONAL
xprtrdma: Delay DMA mapping Send and Receive buffers
xprtrdma: Eliminate "ia" argument in rpcrdma_{alloc, free}_regbuf
xprtrdma: Simplify rpcrdma_ep_post_recv()
xprtrdma: Move send_wr to struct rpcrdma_req
xprtrdma: Move recv_wr to struct rpcrdma_rep
rpcrdma: RDMA/CM private message data structure
xprtrdma: Client-side support for rpcrdma_connect_private
xprtrdma: Basic support for Remote Invalidation
xprtrdma: Use gathered Send for large inline messages
xprtrdma: Support larger inline thresholds
xprtrmda: Report address of frmr, not mw
xprtrdma: Rename rpcrdma_receive_wc()
xprtrdma: Eliminate rpcrdma_receive_worker()

Daniel Wagner (3):
NFS: direct: use complete() instead of complete_all()
NFS: cache_lib: use complete() instead of complete_all()
xprtrdma: use complete() instead complete_all()

David Vrabel (1):
sunrpc: fix write space race causing stalls

Deepa Dinamani (1):
fs: nfs: Make nfs boot time y2038 safe

Frank Sorenson (5):
sunrpc: add hash_cred() function to rpc_authops struct
sunrpc: add generic_auth hash_cred() function
sunrpc: add auth_unix hash_cred() function
sunrpc: add RPCSEC_GSS hash_cred() function
sunrpc: replace generic auth_cred hash with auth-specific function

Jeff Layton (12):
pnfs: track multiple layout types in fsinfo structure
pnfs: add a new mechanism to select a layout driver according to an ordered list
nfs: the length argument to read_buf should be unsigned
nfs: eliminate pointless and confusing do_vfs_lock wrappers
nfs: use safe, interruptible sleeps when waiting to retry LOCK
nfs: add a new NFS4_OPEN_RESULT_MAY_NOTIFY_LOCK constant
nfs: track whether server sets MAY_NOTIFY_LOCK flag
nfs: add handling for CB_NOTIFY_LOCK in client
nfs: move nfs4_set_lock_state call into caller
nfs: move nfs4 lock retry attempt loop to a separate function
nfs: allow blocking locks to be awoken by lock callbacks
NFSv4.2: Fix a reference leak in nfs42_proc_layoutstats_generic

Ke Wang (1):
sunrpc: queue work on system_power_efficient_wq

Olga Kornievskaia (1):
Retry operation on EREMOTEIO on an interrupted slot

Trond Myklebust (40):
NFSv4.x: Set up struct svc_serv_ops for the callback channel
SUNRPC: Initialise struct svc_serv backchannel fields during __svc_create()
NFSv4.x: Fix up the global tracking of the callback server
NFSv4.x: Switch to using svc_set_num_threads() to manage the callback threads
NFSv4.x: Add kernel parameter to control the callback server
NFS: nfs_prime_dcache must validate the filename
SUNRPC: Fix corruption of xdr->nwords in xdr_copy_to_scratch
SUNRPC: Fix setting of buffer length in xdr_set_next_buffer()
NFSv4.1: Don't deadlock the state manager on the SEQUENCE status flags
NFS: Fix inode corruption in nfs_prime_dcache()
NFSv4: Don't report revoked delegations as valid in nfs_have_delegation()
NFSv4: nfs4_copy_delegation_stateid() must fail if the delegation is invalid
NFSv4.1: Don't check delegations that are already marked as revoked
NFSv4.1: Allow test_stateid to handle session errors without waiting
NFSv4.1: Add a helper function to deal with expired stateids
NFSv4.x: Allow callers of nfs_remove_bad_delegation() to specify a stateid
NFSv4.1: Test delegation stateids when server declares "some state revoked"
NFSv4.1: Deal with server reboots during delegation expiration recovery
NFSv4.1: Don't recheck delegations that have already been checked
NFSv4.1: Allow revoked stateids to skip the call to TEST_STATEID
NFSv4.1: Ensure we always run TEST/FREE_STATEID on locks
NFSv4.1: FREE_STATEID can be asynchronous
NFSv4.1: Ensure we call FREE_STATEID if needed on close/delegreturn/locku
NFSv4: Ensure we don't re-test revoked and freed stateids
NFSv4: nfs_inode_find_state_and_recover() should check all stateids
NFSv4: nfs4_handle_delegation_recall_error() handle expiration as revoke case
NFSv4: nfs4_handle_setlk_error() handle expiration as revoke case
NFSv4.1: nfs4_layoutget_handle_exception handle revoked state
NFSv4: Pass the stateid to the exception handler in nfs4_read/write_done_cb
NFSv4: Fix a race in nfs_inode_reclaim_delegation()
NFSv4: Fix a race when updating an open_stateid
NFS: Always call nfs_inode_find_state_and_recover() when revoking a delegation
NFSv4: nfs4_do_handle_exception() handle revoke/expiry of a single stateid
NFSv4: Don't test open_stateid unless it is set
NFSv4: Mark the lock and open stateids as invalid after freeing them
NFSv4: Open state recovery must account for file permission changes
NFSv4: Fix retry issues with nfs41_test/free_stateid
NFSv4: If recovery failed for a specific open stateid, then don't retry
NFSv4.1: Even if the stateid is OK, we may need to recover the open modes
pNFS: Fix atime updates on pNFS clients

Documentation/kernel-parameters.txt | 12 +
fs/nfs/cache_lib.c | 2 +-
fs/nfs/callback.c | 136 ++---
fs/nfs/callback.h | 12 +
fs/nfs/callback_proc.c | 16 +
fs/nfs/callback_xdr.c | 53 +-
fs/nfs/client.c | 10 +-
fs/nfs/delegation.c | 213 ++++++-
fs/nfs/delegation.h | 8 +-
fs/nfs/dir.c | 24 +-
fs/nfs/direct.c | 2 +-
fs/nfs/file.c | 11 +-
fs/nfs/flexfilelayout/flexfilelayout.c | 2 +-
fs/nfs/internal.h | 7 +-
fs/nfs/netns.h | 2 +-
fs/nfs/nfs42proc.c | 1 +
fs/nfs/nfs4_fs.h | 15 +-
fs/nfs/nfs4client.c | 118 +++-
fs/nfs/nfs4proc.c | 901 ++++++++++++++++++++---------
fs/nfs/nfs4session.h | 2 +
fs/nfs/nfs4state.c | 84 ++-
fs/nfs/nfs4xdr.c | 42 +-
fs/nfs/pnfs.c | 73 ++-
fs/nfs/pnfs.h | 5 +-
fs/nfs/pnfs_nfs.c | 58 +-
fs/nfs/super.c | 10 +
include/linux/nfs4.h | 1 +
include/linux/nfs_fs_sb.h | 3 +
include/linux/nfs_xdr.h | 8 +-
include/linux/sunrpc/auth.h | 1 +
include/linux/sunrpc/clnt.h | 17 +
include/linux/sunrpc/rpc_rdma.h | 39 ++
include/linux/sunrpc/sched.h | 4 +-
include/linux/sunrpc/xdr.h | 12 +
include/linux/sunrpc/xprt.h | 12 +-
include/linux/sunrpc/xprtmultipath.h | 2 +
include/linux/sunrpc/xprtrdma.h | 4 +-
include/uapi/linux/nfs4.h | 5 +-
net/sunrpc/auth.c | 2 +-
net/sunrpc/auth_generic.c | 9 +
net/sunrpc/auth_gss/auth_gss.c | 7 +
net/sunrpc/auth_unix.c | 9 +
net/sunrpc/backchannel_rqst.c | 8 +-
net/sunrpc/cache.c | 5 +-
net/sunrpc/clnt.c | 132 ++++-
net/sunrpc/sched.c | 35 +-
net/sunrpc/svc.c | 17 +
net/sunrpc/xdr.c | 11 +-
net/sunrpc/xprt.c | 2 +-
net/sunrpc/xprtmultipath.c | 24 +-
net/sunrpc/xprtrdma/backchannel.c | 53 +-
net/sunrpc/xprtrdma/fmr_ops.c | 7 +-
net/sunrpc/xprtrdma/frwr_ops.c | 28 +-
net/sunrpc/xprtrdma/rpc_rdma.c | 323 ++++++-----
net/sunrpc/xprtrdma/svc_rdma_backchannel.c | 19 +-
net/sunrpc/xprtrdma/transport.c | 202 ++++---
net/sunrpc/xprtrdma/verbs.c | 237 ++++----
net/sunrpc/xprtrdma/xprt_rdma.h | 108 ++--
net/sunrpc/xprtsock.c | 34 +-
59 files changed, 2233 insertions(+), 966 deletions(-)