For example,
nvme_rdma_complete_rq
->nvme_rdma_unmap_data
->ib_mr_pool_put
But the ib queue pair may has been destroyed by nvme_rdma_destroy_io_queues()
before request's remote completion.
nvme_rdma_teardown_io_queues:
nvme_stop_queues(&ctrl->ctrl);
nvme_rdma_stop_io_queues(ctrl);
blk_mq_tagset_busy_iter(&ctrl->tag_set, nvme_cancel_request,
&ctrl->ctrl);
if (remove)
nvme_start_queues(&ctrl->ctrl);
nvme_rdma_destroy_io_queues(ctrl, remove);
Yea, you're right. I'm fine with this patchset.
