Revision b7ff0185e92a68e77da7edff38e124dfb25b079c authored by Chuck Lever on 03 January 2020, 16:57:04 UTC, committed by Anna Schumaker on 15 January 2020, 15:54:32 UTC
To safely get rid of all rpcrdma_reps from a particular connection
instance, xprtrdma has to wait until each of those reps is finished
being used. A rep may be backing the rq_rcv_buf of an RPC that has
just completed, for example.

Since it is safe to invoke rpcrdma_rep_destroy() only in the Receive
completion handler, simply mark reps remaining in the rb_all_reps
list after the transport is drained. These will then be deleted as
rpcrdma_post_recvs pulls them off the rep free list.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
1 parent 8581038
History
File Mode Size
include
.gitignore -rw-r--r-- 143 bytes
Kconfig -rw-r--r-- 7.9 KB
Makefile -rw-r--r-- 2.2 KB
gen_init_cpio.c -rw-r--r-- 12.8 KB
gen_initramfs_list.sh -rwxr-xr-x 8.0 KB
initramfs_data.S -rw-r--r-- 1.3 KB

back to top