summaryrefslogtreecommitdiffstats
path: root/lib/crc64.c
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2024-06-04 21:45:23 +0200
committerAnna Schumaker <Anna.Schumaker@Netapp.com>2024-07-08 19:47:24 +0200
commitacd9f2dd23c632568156217aac7a05f5a0313152 (patch)
tree74e908a779653ce9b49892eee450fb05cb32e06e /lib/crc64.c
parentnfs: add support for large folios (diff)
downloadlinux-acd9f2dd23c632568156217aac7a05f5a0313152.tar.xz
linux-acd9f2dd23c632568156217aac7a05f5a0313152.zip
xprtrdma: Fix rpcrdma_reqs_reset()
Avoid FastReg operations getting MW_BIND_ERR after a reconnect. rpcrdma_reqs_reset() is called on transport tear-down to get each rpcrdma_req back into a clean state. MRs on req->rl_registered are waiting for a FastReg, are already registered, or are waiting for invalidation. If the transport is being torn down when reqs_reset() is called, the matching LocalInv might never be posted. That leaves these MR registered /and/ on req->rl_free_mrs, where they can be re-used for the next connection. Since xprtrdma does not keep specific track of the MR state, it's not possible to know what state these MRs are in, so the only safe thing to do is release them immediately. Fixes: 5de55ce951a1 ("xprtrdma: Release in-flight MRs on disconnect") Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'lib/crc64.c')
0 files changed, 0 insertions, 0 deletions