xprtrdma: Reply buffer exhaustion can be catastrophic
authorChuck Lever <chuck.lever@oracle.com>
Wed, 29 Jun 2016 17:53:35 +0000 (13:53 -0400)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Mon, 11 Jul 2016 19:50:43 +0000 (15:50 -0400)
commit3d4cf35bd4fab56c3aa0ec4323fccb24970aaf79
tree320f7686025dd43b0470f75ac44ef37dc5eb090c
parentb54054ca5590f59469437fc4a78a978edcb01c31
xprtrdma: Reply buffer exhaustion can be catastrophic

Not having an rpcrdma_rep at call_allocate time can be a problem.
It means that send_request can't post a receive buffer to catch
the RPC's reply. Possible consequences are RPC timeouts or even
transport deadlock.

Instead of allowing an RPC to proceed if an rpcrdma_rep is
not available, return NULL to force call_allocate to wait and
try again.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Tested-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
net/sunrpc/xprtrdma/verbs.c