Hi Mike
I opened the bug issue in redmine bugzilla.
It would be great if you could help with pushing it.
https://bugzilla.redhat.com/show_bug.cgi?id=1121670


Thanks,
Ariel Nahum


-----Original Message-----
From: Mike Christie [mailto:micha...@cs.wisc.edu] 
Sent: Wednesday, July 16, 2014 07:43
To: open-iscsi@googlegroups.com
Cc: Roi Dayan; Ariel Nahum
Subject: Re: [PATCH] Fix infinite loop when conn bind fails

Ah sorry. I thought this was something you only found during code review and 
were not actually hitting in production.

Should get to it this either the end of this week or next week. Doing a release 
at work, then vacation until Wed next week.

If you need it for some distros though let me know the bugzilla numbers, I can 
squeeze it in and work with them.


On 07/15/2014 02:10 AM, Roi Dayan wrote:
> Hi Mike,
> 
> Sorry to nag about this but is there an update about the fix?
> We really want to see this fix being merged.
> 
> Thanks,
> Roi
> 
> 
> -----Original Message-----
> From: Roi Dayan
> Sent: Thursday, June 26, 2014 9:53 AM
> To: Michael Christie
> Cc: open-iscsi@googlegroups.com; Ariel Nahum
> Subject: RE: [PATCH] Fix infinite loop when conn bind fails
> 
> Ok. Thanks.
> 
> 
> -----Original Message-----
> From: Michael Christie [mailto:micha...@cs.wisc.edu]
> Sent: Thursday, June 26, 2014 9:33 AM
> To: Roi Dayan
> Cc: open-iscsi@googlegroups.com; Ariel Nahum
> Subject: Re: [PATCH] Fix infinite loop when conn bind fails
> 
> Hey, I think I am just going to add a actor_delete in actor_timer. It makes 
> the actor_timer function really simple to use then.
> 
> 
> On Jun 19, 2014, at 6:35 AM, Roi Dayan <r...@mellanox.com> wrote:
> 
>> Hi Mike,
>>
>> Is there an update about this commit?
>> About the decision between adding actor_delete or using queue_delayed_reopen.
>>
>> Thanks,
>> Roi
>>
>>
>> -----Original Message-----
>> From: Mike Christie [mailto:micha...@cs.wisc.edu]
>> Sent: Tuesday, June 10, 2014 8:10 PM
>> To: open-iscsi@googlegroups.com
>> Cc: Ariel Nahum; Roi Dayan
>> Subject: Re: [PATCH] Fix infinite loop when conn bind fails
>>
>> On 06/09/2014 01:44 AM, Ariel Nahum wrote:
>>> Currently, when conn bind fails, iscsi_conn_connect is called and it 
>>> reschedules the login_timer by adding it to the pending list while 
>>> it's actually already there. This will create an infinite loop when 
>>> the pending list is processed.
>>>
>>> To fix that, use queue_delayed_reopen which first calls actor_delete 
>>> to make sure the actor is not in the list before rescheduling it.
>>>
>>> Signed-off-by: Ariel Nahum <ari...@mellanox.com>
>>> Signed-off-by: Roi Dayan <r...@mellanox.com>
>>> ---
>>> usr/initiator.c |    3 +--
>>> 1 files changed, 1 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/usr/initiator.c b/usr/initiator.c index 
>>> 05a5b19..067cf0a
>>> 100644
>>> --- a/usr/initiator.c
>>> +++ b/usr/initiator.c
>>> @@ -543,8 +543,7 @@ static int iscsi_conn_connect(struct iscsi_conn *conn, 
>>> queue_task_t *qtask)
>>>     iscsi_sched_ev_context(ev_context, conn, 0, EV_CONN_POLL);
>>>     log_debug(3, "Setting login timer %p timeout %d", &conn->login_timer,
>>>               conn->login_timeout);
>>> -   actor_timer(&conn->login_timer, conn->login_timeout * 1000,
>>> -               iscsi_login_timedout, qtask);
>>> +   queue_delayed_reopen(qtask, conn->login_timeout);
>>>     return 0;
>>> }
>>
>> Patch is correct. Thanks.
>>
>> I am just trying to think of a better name for queue_delayed_reopen or maybe 
>> if we want to just add a actor_delete in iscsi_connect. When we call it 
>> above, the name of the function is odd since we are not requeueing the 
>> reopn. In this code path we use the login_timer to monitor the connect/login 
>> process. When other callers of queue_delayed_reopen call it, they are 
>> reusing the login_timer as a generic timer to retry connect/login.
>>
>> Give me another day to think about it.
>>
> 

-- 
You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to open-iscsi+unsubscr...@googlegroups.com.
To post to this group, send email to open-iscsi@googlegroups.com.
Visit this group at http://groups.google.com/group/open-iscsi.
For more options, visit https://groups.google.com/d/optout.

Reply via email to