diff options
author | Chandra Seetharaman <sekharan@us.ibm.com> | 2008-05-01 17:49:46 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-06-05 10:23:40 -0400 |
commit | a6a8d9f87eb8510a8f53672ea87703f62185d75f (patch) | |
tree | d166e14e3c035ae0e0f26329b2b3b0495046d234 /include/scsi/scsi.h | |
parent | 53c8ba95402be65d412a806cda3430f0e72cd107 (diff) |
[SCSI] scsi_dh: add infrastructure for SCSI Device Handlers
Some of the storage devices (that can be accessed through multiple paths),
do need some special handling for
1. Activating the passive path of the storage access.
2. Decode and handle the special sense codes returned by the devices.
3. Handle the I/Os being sent to the passive path, especially
during the device probe time.
when accessed through multiple paths.
As of today this special device handling is done at the dm-multipath
layer using dm-handlers. That works well for (1); for (2) to be handled
at dm layer, scsi sense information need to be exported from SCSI to dm-layer,
which is not very attractive; (3) cannot be done at all at the dm layer.
Device handler has been moved to SCSI mainly to handle (2) and (3) properly.
Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com>
Signed-off-by: Mike Anderson <andmike@linux.vnet.ibm.com>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'include/scsi/scsi.h')
-rw-r--r-- | include/scsi/scsi.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/scsi/scsi.h b/include/scsi/scsi.h index 32742c4563d..2b5b9356c31 100644 --- a/include/scsi/scsi.h +++ b/include/scsi/scsi.h | |||
@@ -400,6 +400,7 @@ struct scsi_lun { | |||
400 | #define SOFT_ERROR 0x2005 | 400 | #define SOFT_ERROR 0x2005 |
401 | #define ADD_TO_MLQUEUE 0x2006 | 401 | #define ADD_TO_MLQUEUE 0x2006 |
402 | #define TIMEOUT_ERROR 0x2007 | 402 | #define TIMEOUT_ERROR 0x2007 |
403 | #define SCSI_RETURN_NOT_HANDLED 0x2008 | ||
403 | 404 | ||
404 | /* | 405 | /* |
405 | * Midlevel queue return values. | 406 | * Midlevel queue return values. |