Hi all,

this patchset updates the LU Reset handling. The existing
code has the drawback that it stops all I/O during whenever
a Task management function is active, even when the I/O
would not be affected.
But the main problem here is that we do _not_ try to
complete outstanding R2T transfers, which will cause some
targets like the MSA2012i to barf on us and silently drop
the connection after 30secs.

So, this patchset updates the LU Reset handling to
allow several consecutive TMFs. We will observe
the reset hierarchy and modify the PDUs to terminate
ongoing transfers ASAP by setting the FINAL bit.

To make that work properly I also modified the handling
of requeued PDUs to always traverse the entire list.
Otherwise the queue would stall after the first blocked
PDU and other transfers wouldn't go through.

With this patchset I'm able to run my reset testcase
with close to zero errors; I still see the occasional
failure due to network weirdness (ie a R2T response
might come in _after_ the TMF response) but decided
to ignore that for now.

I'm seeing occasional stalls during intense reads;
but as all queues are empty here this is an unrelated
issue. Still debugging.

As usual, comments etc are welcome.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke                   zSeries & Storage
h...@suse.de                          +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 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