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 email@example.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 -~----------~----~----~----~------~----~------~--~---