diff options
author | Matthew R. Ochs <mrochs@linux.vnet.ibm.com> | 2015-08-14 05:47:34 +0300 |
---|---|---|
committer | James Bottomley <JBottomley@Odin.com> | 2015-08-27 04:03:47 +0300 |
commit | 5cdac81a870f3bb65c50d3f5566a86fb086118d2 (patch) | |
tree | 48c2da1d010d7c1fa0aa325f462cce70ce109e87 /drivers/scsi/cxlflash/main.h | |
parent | ef2a388dfce6ddc2fd0d1d798a8974396f6b6a22 (diff) | |
download | linux-5cdac81a870f3bb65c50d3f5566a86fb086118d2.tar.xz |
cxlflash: Base error recovery support
Introduce support for enhanced I/O error handling.
A device state is added to track 3 possible states of the device:
Normal - the device is operating normally and is fully operational
Limbo - the device is in a reset/recovery scenario and its operational
status is paused
Failed/terminating - the device has either failed to be reset/recovered
or is being terminated (removed); it is no longer
operational
All operations are allowed when the device is operating normally. When the
device transitions to limbo state, I/O must be paused. To help accomplish
this, a wait queue is introduced where existing and new threads can wait
until the device is no longer in limbo. When coming out of limbo, threads
need to check the state and error out gracefully when encountering the
failed state. When the device transitions to the failed/terminating state,
normal operations are no longer allowed. Only specially designated
operations related to graceful cleanup are permitted.
Signed-off-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com>
Signed-off-by: Manoj N. Kumar <manoj@linux.vnet.ibm.com>
Reviewed-by: Daniel Axtens <dja@axtens.net>
Reviewed-by: Michael Neuling <mikey@neuling.org>
Reviewed-by: Wen Xiong <wenxiong@linux.vnet.ibm.com>
Reviewed-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
Diffstat (limited to 'drivers/scsi/cxlflash/main.h')
-rw-r--r-- | drivers/scsi/cxlflash/main.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/scsi/cxlflash/main.h b/drivers/scsi/cxlflash/main.h index 7f890ccf3289..cf0e80938b13 100644 --- a/drivers/scsi/cxlflash/main.h +++ b/drivers/scsi/cxlflash/main.h @@ -22,7 +22,7 @@ #define CXLFLASH_NAME "cxlflash" #define CXLFLASH_ADAPTER_NAME "IBM POWER CXL Flash Adapter" -#define CXLFLASH_DRIVER_DATE "(June 2, 2015)" +#define CXLFLASH_DRIVER_DATE "(August 13, 2015)" #define PCI_DEVICE_ID_IBM_CORSA 0x04F0 #define CXLFLASH_SUBS_DEV_ID 0x04F0 @@ -101,4 +101,8 @@ struct asyc_intr_info { #define LINK_RESET 0x02 }; +#ifndef CONFIG_CXL_EEH +#define cxl_perst_reloads_same_image(_a, _b) do { } while (0) +#endif + #endif /* _CXLFLASH_MAIN_H */ |