diff options
author | 2019-08-26 13:12:46 -0400 | |
---|---|---|
committer | 2019-08-26 15:22:31 -0400 | |
commit | ee2f412ece32ab685921408ab1242d097557b57c (patch) | |
tree | 3b56bb22f7309f147cd1858279b62a3799e5b6aa /net/sunrpc/xprtrdma/rpc_rdma.c | |
parent | NFS: Have nfs4_proc_get_lease_time() call nfs4_call_sync_custom() (diff) | |
download | wireguard-linux-ee2f412ece32ab685921408ab1242d097557b57c.tar.xz wireguard-linux-ee2f412ece32ab685921408ab1242d097557b57c.zip |
xprtrdma: Recycle MRs after disconnect
The optimization done in "xprtrdma: Simplify rpcrdma_mr_pop" was a
bit too optimistic. MRs left over after a reconnect still need to
be recycled, not added back to the free list, since they could be
in flight or actually fully registered.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'net/sunrpc/xprtrdma/rpc_rdma.c')
-rw-r--r-- | net/sunrpc/xprtrdma/rpc_rdma.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sunrpc/xprtrdma/rpc_rdma.c b/net/sunrpc/xprtrdma/rpc_rdma.c index 67e1684aee6d..19dd29a5c60d 100644 --- a/net/sunrpc/xprtrdma/rpc_rdma.c +++ b/net/sunrpc/xprtrdma/rpc_rdma.c @@ -867,7 +867,7 @@ rpcrdma_marshal_req(struct rpcrdma_xprt *r_xprt, struct rpc_rqst *rqst) * chunks. Very likely the connection has been replaced, * so these registrations are invalid and unusable. */ - frwr_reset(req); + frwr_recycle(req); /* This implementation supports the following combinations * of chunk lists in one RPC-over-RDMA Call message: |