[PATCH] move ->eh_strategy_handler to the transport class

Overriding the whole EH code is a per-transport, not per-host thing.
Move ->eh_strategy_handler to the transport class, same as
->eh_timed_out.

Downside is that scsi_host_alloc can't check for the total lack of EH
anymore, but the transition period from old EH where we needed it is
long gone already.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
Christoph Hellwig
2006-04-01 19:21:04 +02:00
committed by Jeff Garzik
parent 676165a8af
commit 9227c33de8
26 changed files with 18 additions and 66 deletions
-12
View File
@@ -294,18 +294,6 @@ struct Scsi_Host *scsi_host_alloc(struct scsi_host_template *sht, int privsize)
if (sht->unchecked_isa_dma && privsize)
gfp_mask |= __GFP_DMA;
/* Check to see if this host has any error handling facilities */
if (!sht->eh_strategy_handler && !sht->eh_abort_handler &&
!sht->eh_device_reset_handler && !sht->eh_bus_reset_handler &&
!sht->eh_host_reset_handler) {
printk(KERN_ERR "ERROR: SCSI host `%s' has no error handling\n"
"ERROR: This is not a safe way to run your "
"SCSI host\n"
"ERROR: The error handling must be added to "
"this driver\n", sht->proc_name);
dump_stack();
}
shost = kzalloc(sizeof(struct Scsi_Host) + privsize, gfp_mask);
if (!shost)
return NULL;