[PATCH v3] nvmet-rdma: Correctly handle RDMA device hot removal

Bart Van Assche bart.vanassche at sandisk.com
Mon Aug 1 07:44:37 PDT 2016


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?

Bart.




More information about the Linux-nvme mailing list