linux/net/sunrpc/xprtrdma
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
..
Makefile rdma: makefile 2008-02-01 16:42:14 -05:00
rpc_rdma.c NFS client updates for Linux 3.4 2012-03-23 08:53:47 -07:00
svc_rdma_marshal.c svcrdma: Cleanup sparse warnings in the svcrdma module 2012-02-17 18:38:50 -05:00
svc_rdma_recvfrom.c svcrdma: Cleanup sparse warnings in the svcrdma module 2012-02-17 18:38:50 -05:00
svc_rdma_sendto.c svcrdma: Cleanup sparse warnings in the svcrdma module 2012-02-17 18:38:50 -05:00
svc_rdma_transport.c svcrdma: Cleanup sparse warnings in the svcrdma module 2012-02-17 18:38:50 -05:00
svc_rdma.c svcrdma: Cleanup sparse warnings in the svcrdma module 2012-02-17 18:38:50 -05:00
transport.c SUNRPC: Fix a UDP transport regression 2012-09-07 11:43:49 -04:00
verbs.c xprtrdma: Remove assumption that each segment is <= PAGE_SIZE 2012-03-21 09:31:47 -04:00
xprt_rdma.h svcrdma: Cleanup sparse warnings in the svcrdma module 2012-02-17 18:38:50 -05:00