linux/drivers/scsi/lpfc
James Smart a90f56847e [SCSI] lpfc 8.1.9 : Stall eh handlers if resetting while rport blocked
Stall error handler if attempting resets/aborts while an rport is blocked.
This avoids device offline scenarios due to errors in the error handler.

Background:
  Although the transport is using the scsi_timed_out functionality to
  restart the timeout if the rport is blocked, if the timeout has already
  fired before the block occurs, the eh handler still runs and can take
  the device offline. Ultimately, this window cannot be resolved without
  significant work in the error handler thread. Christoph noted the first
  level of these issues when he noted the poor error response handling
  by the error thread.

  We found, under heavy load and error testing, that time window from when
  the scsi_times_out() adds the io to the queue to when the scsi_error_handler
  gets around to servicing it, can be in the several seconds range. In most
  cases, these test conditions are highly unusual, but possible.
  As a result, we're stalling the error handler in this race window so that
  we can avoid the device_offline transitions.

Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-08-19 13:46:30 -07:00
..
lpfc_attr.c [SCSI] lpfc 8.1.9 : Misc Bug Fixes 2006-08-19 13:46:05 -07:00
lpfc_compat.h [PATCH] turn many #if $undefined_string into #ifdef $undefined_string 2005-07-27 16:26:08 -07:00
lpfc_crtn.h [SCSI] lpfc 8.1.7 : Fix failing firmware download due to mailbox delays needing to be longer 2006-08-06 11:28:03 -05:00
lpfc_ct.c [SCSI] lpfc 8.1.7 : ID String and Message fixes 2006-08-06 11:28:55 -05:00
lpfc_disc.h [SCSI] lpfc 8.1.5 : Fix Discovery processing for NPorts that hit nodev_tmo during discovery 2006-04-19 20:48:25 -04:00
lpfc_els.c [SCSI] lpfc 8.1.9 : Misc Bug Fixes 2006-08-19 13:46:05 -07:00
lpfc_hbadisc.c [SCSI] lpfc 8.1.9 : Misc Bug Fixes 2006-08-19 13:46:05 -07:00
lpfc_hw.h [SCSI] lpfc 8.1.5 : Fixed FC protocol violation in handling of PRLO. 2006-04-19 20:48:58 -04:00
lpfc_init.c [SCSI] lpfc 8.1.9 : Misc Bug Fixes 2006-08-19 13:46:05 -07:00
lpfc_logmsg.h [SCSI] lpfc: Update copyright notices 2005-07-02 19:08:29 -05:00
lpfc_mbox.c [SCSI] lpfc 8.1.7 : Fix failing firmware download due to mailbox delays needing to be longer 2006-08-06 11:28:03 -05:00
lpfc_mem.c [SCSI] lpfc 8.1.7: Fix memory leak and cleanup code related to per ring lookup array 2006-07-09 10:19:55 -05:00
lpfc_nportdisc.c [SCSI] lpfc 8.1.9 : Misc Bug Fixes 2006-08-19 13:46:05 -07:00
lpfc_scsi.c [SCSI] lpfc 8.1.9 : Stall eh handlers if resetting while rport blocked 2006-08-19 13:46:30 -07:00
lpfc_scsi.h [SCSI] lpfc: minor syntax fixes 2006-03-06 10:20:56 -06:00
lpfc_sli.c [SCSI] lpfc 8.1.7 : ID String and Message fixes 2006-08-06 11:28:55 -05:00
lpfc_sli.h [SCSI] lpfc 8.1.7 : Fix failing firmware download due to mailbox delays needing to be longer 2006-08-06 11:28:03 -05:00
lpfc_version.h [SCSI] lpfc 8.1.7 : Change version number to 8.1.8 2006-08-06 11:29:11 -05:00
lpfc.h [SCSI] lpfc 8.1.7: Standardize the driver on a single define for the maximum supported targets 2006-07-09 10:19:03 -05:00
Makefile [SCSI] lpfc: Update copyright notices 2005-07-02 19:08:29 -05:00