On 08/07/2009 09:59 PM, Mike Christie wrote:
> On 08/07/2009 05:27 AM, Hannes Reinecke wrote:
>> When checking for the SUSPEND bit we have to make sure
>> to transfer complete PDUs, otherwise the target will barf.
>>
>
>
> What do you mean it will barf?
>
> We normally will eventually send the other part of the PDU. We have
> these cases:
>
>
> 1. If we are doing ERL0 then we won't, but it does not matter because we
> kill the tcp/ip connection and iscsi connection/session.
>
> 2. If we get suspended because of a TMF cleanup, then we would hit that,
> but when the xmit thread resumes conn->task will be this task so we will
> start it up again.
>       - The exception is here if conn->task is the one we are aborting or is
> affected by the reset. However, in this case the target should not be
> sending a tmf response while it is waiting for the data to be sent.
>
> Is there a 3rd you are hitting or a bug in the existing code?
>

Oh yeah, I removed the suspend check in iscsi_sw_tcp_xmit_segment, but 
we can still hit the exception in #2. If we hit the sendtmo, then part 
of the pdu could be sent. We would then hit another suspend bit check 
higher up or if you use that one patch where EAGAIN got changed to 
ENOBUFS then we are going to exit from iscsi_data_xmit. If you are using 
your cmdsn patch, you can also exit from iscsi_data_xmit early.

For the #2 exception case though the target should get fixed.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To post to this group, send email to open-iscsi@googlegroups.com
To unsubscribe from this group, send email to 
open-iscsi+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/open-iscsi
-~----------~----~----~----~------~----~------~--~---

Reply via email to