[ewg][PATCH][1/2] SRP multipath failover within 60 seconds,
Vu Pham
vuhuong at mellanox.com
Wed Feb 6 10:48:54 PST 2008
Vu Pham wrote:
> Roland Dreier wrote:
>> > diff --git a/drivers/infiniband/ulp/srp/ib_srp.c
>> b/drivers/infiniband/ulp/srp/ib_srp.c
>> > index 950228f..45a2533 100644
>> > --- a/drivers/infiniband/ulp/srp/ib_srp.c
>> > +++ b/drivers/infiniband/ulp/srp/ib_srp.c
>> > @@ -400,7 +400,6 @@
>> > printk(KERN_DEBUG PFX "Sending CM DREQ failed\n");
>> > return;
>> > }
>> > - wait_for_completion(&target->done);
>> > }
>> > > static void srp_remove_work(struct work_struct *work)
>> > @@ -1266,7 +1294,6 @@
>> > case IB_CM_TIMEWAIT_EXIT:
>> > printk(KERN_ERR PFX "connection closed\n");
>> > > - comp = 1;
>> > target->status = 0;
>> > break;
>>
>> Seems like this would leak the cm_id?
>
> I said in my [0/2] email, this patch should be applied on top of
> srp_1_recreate_at_reconnect.patch which is already in ofed_1_3.git tree
> kernel_patches/fixes/ directory
>
> I attached it here
>
I did not answer you correctly.
This would not leak the cm_id
in srp_reconnect_target()
...
srp_disconnect_target(target);
new_cm_id = ib_create_cm_id()
if (IS_ERR(new_cm_id)) {
ret = PTR_ERR(new_cm_id);
goto err;
}
ib_destroy_cm_id(target->cm_id);
the cm_id get destroy in srp_reconnect_target or in
srp_remove_work
-vu
More information about the ewg
mailing list