diff options
author | Darrick J. Wong <djwong@us.ibm.com> | 2006-10-30 18:18:39 -0500 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2006-11-15 13:14:16 -0500 |
commit | f456393e195e0aa16029985f63cd93b601a0d315 (patch) | |
tree | dc4b9d4c0705d5fe2d94669b1a75053f52755cb7 /include/scsi/libsas.h | |
parent | b4d38e38e66f8e1b32a1b1c00e533175314c8d56 (diff) |
[SCSI] libsas: modify error handler to use scsi_eh_* functions
This patch adds an EH done queue to sas_ha, converts the error handling
strategy function and the sas_scsi_task_done functions in libsas to use
the scsi_eh_* commands for error'd commands, and adds checks for the
INITIATOR_ABORTED flag so that we do the right thing if a sas_task has
been aborted by the initiator.
Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'include/scsi/libsas.h')
-rw-r--r-- | include/scsi/libsas.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h index 9582e8401669..7bf2e8b9903c 100644 --- a/include/scsi/libsas.h +++ b/include/scsi/libsas.h | |||
@@ -338,6 +338,8 @@ struct sas_ha_struct { | |||
338 | void (*notify_phy_event)(struct asd_sas_phy *, enum phy_event); | 338 | void (*notify_phy_event)(struct asd_sas_phy *, enum phy_event); |
339 | 339 | ||
340 | void *lldd_ha; /* not touched by sas class code */ | 340 | void *lldd_ha; /* not touched by sas class code */ |
341 | |||
342 | struct list_head eh_done_q; | ||
341 | }; | 343 | }; |
342 | 344 | ||
343 | #define SHOST_TO_SAS_HA(_shost) (*(struct sas_ha_struct **)(_shost)->hostdata) | 345 | #define SHOST_TO_SAS_HA(_shost) (*(struct sas_ha_struct **)(_shost)->hostdata) |
@@ -530,9 +532,10 @@ struct sas_task { | |||
530 | 532 | ||
531 | 533 | ||
532 | 534 | ||
533 | #define SAS_TASK_STATE_PENDING 1 | 535 | #define SAS_TASK_STATE_PENDING 1 |
534 | #define SAS_TASK_STATE_DONE 2 | 536 | #define SAS_TASK_STATE_DONE 2 |
535 | #define SAS_TASK_STATE_ABORTED 4 | 537 | #define SAS_TASK_STATE_ABORTED 4 |
538 | #define SAS_TASK_INITIATOR_ABORTED 8 | ||
536 | 539 | ||
537 | static inline struct sas_task *sas_alloc_task(gfp_t flags) | 540 | static inline struct sas_task *sas_alloc_task(gfp_t flags) |
538 | { | 541 | { |