xprtrdma: Wake tasks after connect worker fails
authorChuck Lever <chuck.lever@oracle.com>
Wed, 23 Oct 2019 14:01:52 +0000 (10:01 -0400)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Thu, 24 Oct 2019 14:30:40 +0000 (10:30 -0400)
commit6cb28687fd1db3f94b35c2a7b37bf468f945244a
treeff0fff83d53010b65aa10fd39707925883eefaea
parent614f3c96d7e5efd1c4dc699524857130a52c6a7f
xprtrdma: Wake tasks after connect worker fails

Pending tasks are currently never awoken when the connect worker
fails. The reason is that XPRT_CONNECTED is always clear after a
failure return of rpcrdma_ep_connect, thus the
xprt_test_and_clear_connected() check in xprt_rdma_connect_worker()
always fails.

- xprt_rdma_close always clears XPRT_CONNECTED.

- rpcrdma_ep_connect always clears XPRT_CONNECTED.

After reviewing the TCP connect worker, it appears that there's no
need for extra test_and_set paranoia in xprt_rdma_connect_worker.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
net/sunrpc/xprtrdma/transport.c