xprtrdma: Do not wake RPC consumer on a failed LocalInv
authorChuck Lever <chuck.lever@oracle.com>
Mon, 19 Apr 2021 18:03:19 +0000 (14:03 -0400)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Mon, 26 Apr 2021 13:25:19 +0000 (09:25 -0400)
commit8a053433de00380a9c5758d94c7c2ec2e25321fe
treea4ec7a950e0df5bdd1ab5d7d72e9d7a520606f1f
parente4b52ca01315ad53df41877708428c1c41c1444d
xprtrdma: Do not wake RPC consumer on a failed LocalInv

Throw away any reply where the LocalInv flushes or could not be
posted. The registered memory region is in an unknown state until
the disconnect completes.

rpcrdma_xprt_disconnect() will find and release the MR. No need to
put it back on the MR free list in this case.

The client retransmits pending RPC requests once it reestablishes a
fresh connection, so a replacement reply should be forthcoming on
the next connection instance.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
net/sunrpc/xprtrdma/frwr_ops.c
net/sunrpc/xprtrdma/rpc_rdma.c
net/sunrpc/xprtrdma/xprt_rdma.h