X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=include%2Fscsi%2Fscsi_transport.h;h=cca1d4926d2aa47333749967577087df93b9ec52;hb=5cf13911b1e72707b6f0eb39b2d819ec6e343d76;hp=e7b1054adf86b5d3d1003f3be9335d9c158ae18b;hpb=d04ae27bae42bcce1b3fa70ca2edf25d92b1cf39;p=powerpc.git diff --git a/include/scsi/scsi_transport.h b/include/scsi/scsi_transport.h index e7b1054adf..cca1d4926d 100644 --- a/include/scsi/scsi_transport.h +++ b/include/scsi/scsi_transport.h @@ -48,6 +48,22 @@ struct scsi_transport_template { * True if the transport wants to use a host-based work-queue */ unsigned int create_work_queue : 1; + + /* + * Allows a transport to override the default error handler. + */ + void (* eh_strategy_handler)(struct Scsi_Host *); + + /* + * This is an optional routine that allows the transport to become + * involved when a scsi io timer fires. The return value tells the + * timer routine how to finish the io timeout handling: + * EH_HANDLED: I fixed the error, please complete the command + * EH_RESET_TIMER: I need more time, reset the timer and + * begin counting again + * EH_NOT_HANDLED Begin normal error recovery + */ + enum scsi_eh_timer_return (* eh_timed_out)(struct scsi_cmnd *); }; #define transport_class_to_shost(tc) \