On 08/01/16 07:44, Bart Van Assche wrote:
On 08/01/16 04:15, Christoph Hellwig wrote:
This looks reasonable to me, but a little question below:
@@ -1442,7 +1491,8 @@ static void nvmet_rdma_remove_port(struct
nvmet_port *port)
{
struct rdma_cm_id *cm_id = port->priv;
- rdma_destroy_id(cm_id);
+ if (cm_id)
+ rdma_destroy_id(cm_id);
}
How is ->remove_port synchronized vs the RDMA/CM event handler?
rdma_destroy_id() waits until active RDMA/CM callbacks have finished. Is
that sufficient or is further synchronization needed?
(replying to my own e-mail)
Please ignore my e-mail. I just realized that Christoph's question was
about synchronization of nvmet_rdma_remove_port() versus the RDMA/CM
event handler instead of just rdma_destroy_id().
Bart.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html