[SCSI] zfcp: Recover from stalled outbound queue
authorChristof Schmitt <christof.schmitt@de.ibm.com>
Mon, 13 Jul 2009 13:06:10 +0000 (15:06 +0200)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Thu, 30 Jul 2009 13:49:57 +0000 (08:49 -0500)
commitcbf1ed0264da104573458aedc220ebfcd02567f6
treee3a8e5f815fd22c556a61189c0d3e0d0658fa87d
parent85600f7f8370fe5b4be0debd8b401de7986b52ae
[SCSI] zfcp: Recover from stalled outbound queue

Depending on interruptions on some storage systems, the complete
channel can stall which looks like an outbound queue stall to Linux.
When trying to acquire a free SBAL for a non-SCSI command, zfcp waits
for 5 seconds for a free slot to appear. This is the right place to
detect a queue stall: If the wait times out, we assume a stalled queue
and try to recover this.

The overall strategy should be to trigger the erp from specific
events, and not try an overall escalation from one failed port to a
full-blown queue recovery. If we manage to send a command, the status
codes for this command or a timeout will trigger the right follow-on
actions.

Reviewed-by: Swen Schillig <swen@vnet.ibm.com>
Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/s390/scsi/zfcp_fsf.c
This page took 0.029054 seconds and 5 git commands to generate.