Anyway I have the same problem as BrowseMan then trying to compile the
initiatior on my SuSE 10.1 box.
error: unknown field 'eh_timed_out' specified in initializer
Any Ideas ?
Brgds Jonas
Regards,
Mike Mazarick
There have been some changes to struct scsi_host_template between 2.6.16
and 2.6.17. The realitively minor breakage is for eh_timed_out() which
is the function that is called to take action when the SCSI CMND's
internal timer fires due to a channel nexus being active, but the
outstanding SCSI CMND in question has not been completed to the SCSI
subsystem. For core-iscsi, eh_strategy_handler() is currently a NOP, so
we can replace this with easily.
I will get 2.6.17 complied today and have a look see..
Thanks!
--nab
For those interested, attached is the diff for include/scsi/scsi_host.h:
--- scsi_host.h 2006-03-19 21:53:29.000000000 -0800
+++ /iqn.2002-07.com.pyxtechnologies.target.264dp.linux.alpha/scsi_disk_xfs/linux-2.6.17.1/include/scsi/scsi_ho st.h 2006-06-20 02:31:55.000000000 -0700
@@ -140,27 +140,12 @@
*
* Status: REQUIRED (at least one of them)
*/
- int (* eh_strategy_handler)(struct Scsi_Host *);
int (* eh_abort_handler)(struct scsi_cmnd *);
int (* eh_device_reset_handler)(struct scsi_cmnd *);
int (* eh_bus_reset_handler)(struct scsi_cmnd *);
int (* eh_host_reset_handler)(struct scsi_cmnd *);
/*
- * This is an optional routine to notify the host that the scsi
- * timer just fired. The returns tell the timer routine what to
- * do about this:
- *
- * 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
- *
- * Status: OPTIONAL
- */
- enum scsi_eh_timer_return (* eh_timed_out)(struct scsi_cmnd *);
-
- /*
* Before the mid layer attempts to scan for a new device where
none
* currently exists, it will call this entry in your driver.
Should
* your driver need to allocate any structs or perform any other
init
@@ -300,7 +285,7 @@
* suspend support
*/
int (*resume)(struct scsi_device *);
- int (*suspend)(struct scsi_device *);
+ int (*suspend)(struct scsi_device *, pm_message_t state);
/*
* Name of proc directory
--
Nicholas A. Bellinger <n...@kernel.org>
Actually, the structure members that where removed from
include/scsi/scsi_host.h:struct scsi_host_template have been put into
include/scsi/scsi_transport.h:struct scsi_transport_template.
This looks to be a easy fix. I will get this running on 2.6.17.1 and
post some results in a bit. If all goes well lets look at v1.6.2.8
tonight..
--nab