[SCSI] zfcp: Trigger logging in the FCP channel on qdio error conditions
authorChristof Schmitt <christof.schmitt@de.ibm.com>
Fri, 16 Jul 2010 13:37:43 +0000 (15:37 +0200)
committerJames Bottomley <James.Bottomley@suse.de>
Wed, 28 Jul 2010 14:48:58 +0000 (09:48 -0500)
commit339f4f4eab80caa6cf0d39fb057ad6ddb84ba91e
tree495dc5a18c128d3e802a8b1914f978bf4262ac3d
parentef3eb71d8ba4fd9d48c5f9310bc9d90ca00323b4
[SCSI] zfcp: Trigger logging in the FCP channel on qdio error conditions

Exploit the cio siosl function to trigger logging in the FCP channel
on qdio error conditions. Add a helper function in zfcp_qdio to ensure
that tracing is only triggered once before calling qdio_shutdown.

Trigger in zfcp for hardware logs are:
 - timeout for FSF requests to the FCP channel
 - "no recommendation" status from FCP channel
 - invalid FSF protocol status
 - stalled outbound queue
 - unknown request id on inbound queue
 - QDIO_ERROR_SLSB_STATE

All of the above triggers run from the Linux qdio softirq context, so
no additional synchronization is necessary for the handling of the
ZFCP_STATUS_ADAPTER_SIOSL_ISSUED flag.

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@suse.de>
drivers/s390/scsi/zfcp_def.h
drivers/s390/scsi/zfcp_ext.h
drivers/s390/scsi/zfcp_fsf.c
drivers/s390/scsi/zfcp_qdio.c