Mike Christie wrote:
> Hannes Reinecke wrote:
>> If 'fast_abort' is not set we should be sending all outstanding
>> Data-out PDUs to the target, even after we have received the
>> tmf response. So we should make sure that the workqueue is really
>> flushed and all PDUs have been processed before setting the
>> 'SUSPEND' bit.
>
> I tried to say this in the previous mails. Let me know if you are also
> disagreeing with this or maybe just missed it.
>
> iscsi_tcp, iser and cxgb3i can return from xmit_task when some buffer or
> window closes. It can do this at any time, and it could leave a partial
> pdu sent or if we are still trying to send all the data-outs for a
> sequence then it could get stuck in the middle of that.
>
Agreed.
As mentioned in my previous mail:
All I want to achieve here is to flush all outstanding Data-Out PDUs
_before_ the SUSPEND bit is set.
If all Data-Out PDUs are queued in the 'requeue' list _and_ we were
to go with my 'traverse all Data-Out PDUs' patch this patch might
not be necessary.
> Instead of suspend_tx, I think we have to add some wait_on_cmds type of
> function where we wait for commends affected by the tmf to be sent.
>
> So something like
>
> wait_on_commands()
> {
> loop for each cmd on requeue list
> if (check_restrictions(task))
> wait for a while then restart loop and check
> }
>
> // Instead of the wait we could also add some per task callback that
> gets called when the data/pdus are finally sent, but that is probably
> overkill.
>
>
>
> eh_lu_reset()
> {
>
> if (tmf successful)
> wait_on_commands()
> fail_scsi_tasks()
> }
>
>
I tried something similar, but this struck me as overly
complicated as a first stab.
But since you mention it, ok, do it.
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
[email protected] +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Markus Rex, HRB 16746 (AG Nürnberg)
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"open-iscsi" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at http://groups.google.com/group/open-iscsi
-~----------~----~----~----~------~----~------~--~---