linux-hardened/include/linux/sunrpc
Trond Myklebust f39c1bfb5a SUNRPC: Fix a UDP transport regression
Commit 43cedbf0e8 (SUNRPC: Ensure that
we grab the XPRT_LOCK before calling xprt_alloc_slot) is causing
hangs in the case of NFS over UDP mounts.

Since neither the UDP or the RDMA transport mechanism use dynamic slot
allocation, we can skip grabbing the socket lock for those transports.
Add a new rpc_xprt_op to allow switching between the TCP and UDP/RDMA
case.

Note that the NFSv4.1 back channel assigns the slot directly
through rpc_run_bc_task, so we can ignore that case.

Reported-by: Dick Streefland <dick.streefland@altium.nl>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: stable@vger.kernel.org [>= 3.1]
2012-09-07 11:43:49 -04:00
..
auth.h SUNRPC: Add rpcauth_list_flavors() 2012-07-16 15:12:15 -04:00
auth_gss.h SUNRPC: Clean up the RPCSEC_GSS service ticket requests 2012-01-05 10:42:38 -05:00
bc_xprt.h SUNRPC: Fix a few sparse warnings 2012-03-11 19:30:02 -04:00
cache.h nfsd: add get_uint for u32's 2012-07-25 09:18:27 -04:00
clnt.h SUNRPC: Add API to acquire source address 2012-03-02 15:36:53 -05:00
debug.h SUNRPC: Kill compiler warning when RPC_DEBUG is unset 2012-03-21 09:31:31 -04:00
gss_api.h SUNRPC: Add rpcauth_list_flavors() 2012-07-16 15:12:15 -04:00
gss_asn1.h
gss_err.h
gss_krb5.h
gss_krb5_enctypes.h
Kbuild
metrics.h NFS: include filelayout DS rpc stats in mountstats 2012-02-17 13:39:47 -05:00
msg_prot.h
rpc_pipe_fs.h SUNRPC: move waitq from RPC pipe to RPC inode 2012-02-27 13:37:48 -05:00
rpc_rdma.h
sched.h NFS: include filelayout DS rpc stats in mountstats 2012-02-17 13:39:47 -05:00
stats.h SUNRPC: constify the rpc_program 2012-01-31 19:28:20 -05:00
svc.h SUNRPC: service request network namespace helper introduced 2012-07-27 16:49:21 -04:00
svc_rdma.h svcrdma: silence a Sparse warning 2012-03-06 18:13:33 -05:00
svc_xprt.h SUNRPC: search for service transports in network namespace context 2012-01-31 19:28:19 -05:00
svcauth.h nfsd4: move rq_flavor into svc_cred 2012-05-31 20:29:58 -04:00
svcauth_gss.h nfsd4: move principal name into svc_cred 2012-05-31 20:29:55 -04:00
svcsock.h SUNRPC: service destruction in network namespace context 2012-02-15 00:19:45 -05:00
timer.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
types.h
xdr.h SUNRPC: Remove unused function xdr_encode_pages 2012-06-28 17:20:49 -04:00
xprt.h SUNRPC: Fix a UDP transport regression 2012-09-07 11:43:49 -04:00
xprtrdma.h
xprtsock.h SUNRPC: Fix a few sparse warnings 2012-03-11 19:30:02 -04:00