+7
−3
Loading
1. During the execution of nvmf_rdma_disconnect, there is a possibility that rdma_destroy_id is called synchronously before the acknowledgment of the corresponding connection management (cm) event. As rdma_destroy_id needs to wait for all event acknowledgments, this can lead to a potential deadlock in the cm event handler thread. To avoid this, we now ensure that the cm event is acknowledged before invoking nvmf_rdma_disconnect. 2. In the scenario where the retry ports are removed by the user while waiting for a new RDMA device, we should halt the process of rescanning for new InfiniBand (IB) devices since there will be no retry ports available. However, it's important to note that if the user attempts to listen on the same port again, it may fail since the new IB devices are not yet initialized. To address this, we now perform a complete device rescan whenever a listen operation fails. Change-Id: I62bd34a32bc3ba183fd02303fdb48c66f9e0a22d Signed-off-by:sijie.sun <sijie.sun@smartx.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/19682 Reviewed-by:
Jim Harris <jim.harris@gmail.com> Community-CI: Mellanox Build Bot Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by:
Aleksey Marchuk <alexeymar@nvidia.com>