hpsa: use workqueue to resubmit failed ioaccel commands

Instead of kicking the commands all the way back to the mid
layer, use a work queue.  This enables having a mechanism for
the driver to be able to resubmit the commands down the "normal"
raid path without turning off the ioaccel feature entirely
whenever an error is encountered on the ioaccel path, and
prevent excessive rescanning of devices.

Reviewed-by: Scott Teel <scott.teel@pmcs.com>
Signed-off-by: Don Brace <don.brace@pmcs.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
Don Brace
2015-01-23 16:43:25 -06:00
committed by James Bottomley
parent 574f05d374
commit 080ef1cc7f
3 changed files with 54 additions and 20 deletions

View File

@@ -404,6 +404,7 @@ struct CommandList {
long cmdindex;
struct completion *waiting;
void *scsi_cmd;
struct work_struct work;
} __aligned(COMMANDLIST_ALIGNMENT);
/* Max S/G elements in I/O accelerator command */