aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/hpsa.h
diff options
context:
space:
mode:
authorStephen M. Cameron <scameron@beardog.cce.hp.com>2014-02-21 17:25:00 -0500
committerJames Bottomley <JBottomley@Parallels.com>2014-03-15 13:19:23 -0400
commit9846590edadb3c961fed095d6b3c0af947230e69 (patch)
treeab3da4e269970b09b1eb0a55d61dc0c599491b37 /drivers/scsi/hpsa.h
parent9f02e5bc60d699017bc1f5e5cc95c4fedc7b29ba (diff)
[SCSI] hpsa: bring format-in-progress drives online when ready
Do not expose drives that are undergoing a format immediately to the OS, instead wait until they are ready before bringing them online. This is so that logical drives created with "rapid parity initialization" do not get immediately kicked off the system for being unresponsive. Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/hpsa.h')
-rw-r--r--drivers/scsi/hpsa.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/scsi/hpsa.h b/drivers/scsi/hpsa.h
index c4a81f095e27..ae8c592df8d3 100644
--- a/drivers/scsi/hpsa.h
+++ b/drivers/scsi/hpsa.h
@@ -46,6 +46,7 @@ struct hpsa_scsi_dev_t {
46 unsigned char vendor[8]; /* bytes 8-15 of inquiry data */ 46 unsigned char vendor[8]; /* bytes 8-15 of inquiry data */
47 unsigned char model[16]; /* bytes 16-31 of inquiry data */ 47 unsigned char model[16]; /* bytes 16-31 of inquiry data */
48 unsigned char raid_level; /* from inquiry page 0xC1 */ 48 unsigned char raid_level; /* from inquiry page 0xC1 */
49 unsigned char volume_offline; /* discovered via TUR or VPD */
49 u32 ioaccel_handle; 50 u32 ioaccel_handle;
50 int offload_config; /* I/O accel RAID offload configured */ 51 int offload_config; /* I/O accel RAID offload configured */
51 int offload_enabled; /* I/O accel RAID offload enabled */ 52 int offload_enabled; /* I/O accel RAID offload enabled */
@@ -197,10 +198,18 @@ struct ctlr_info {
197 CTLR_STATE_CHANGE_EVENT_REDUNDANT_CNTRL | \ 198 CTLR_STATE_CHANGE_EVENT_REDUNDANT_CNTRL | \
198 CTLR_STATE_CHANGE_EVENT_AIO_ENABLED_DISABLED | \ 199 CTLR_STATE_CHANGE_EVENT_AIO_ENABLED_DISABLED | \
199 CTLR_STATE_CHANGE_EVENT_AIO_CONFIG_CHANGE) 200 CTLR_STATE_CHANGE_EVENT_AIO_CONFIG_CHANGE)
201 spinlock_t offline_device_lock;
202 struct list_head offline_device_list;
200 int acciopath_status; 203 int acciopath_status;
201 int drv_req_rescan; /* flag for driver to request rescan event */ 204 int drv_req_rescan; /* flag for driver to request rescan event */
202 int raid_offload_debug; 205 int raid_offload_debug;
203}; 206};
207
208struct offline_device_entry {
209 unsigned char scsi3addr[8];
210 struct list_head offline_list;
211};
212
204#define HPSA_ABORT_MSG 0 213#define HPSA_ABORT_MSG 0
205#define HPSA_DEVICE_RESET_MSG 1 214#define HPSA_DEVICE_RESET_MSG 1
206#define HPSA_RESET_TYPE_CONTROLLER 0x00 215#define HPSA_RESET_TYPE_CONTROLLER 0x00