Merge master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
[powerpc.git] / include / scsi / scsi_transport_fc.h
index f91c535..798f7c7 100644 (file)
@@ -195,6 +195,7 @@ struct fc_rport {   /* aka fc_starget_attrs */
        u32 roles;
        enum fc_port_state port_state;  /* Will only be ONLINE or UNKNOWN */
        u32 scsi_target_id;
+       u32 fast_io_fail_tmo;
 
        /* exported data */
        void *dd_data;                  /* Used for driver-specific storage */
@@ -205,8 +206,9 @@ struct fc_rport {   /* aka fc_starget_attrs */
        u8 flags;
        struct list_head peers;
        struct device dev;
-       struct work_struct dev_loss_work;
+       struct delayed_work dev_loss_work;
        struct work_struct scan_work;
+       struct delayed_work fail_io_work;
        struct work_struct stgt_delete_work;
        struct work_struct rport_delete_work;
 } __attribute__((aligned(sizeof(unsigned long))));
@@ -445,6 +447,9 @@ struct fc_function_template {
 
        int     (*issue_fc_host_lip)(struct Scsi_Host *);
 
+       void    (*dev_loss_tmo_callbk)(struct fc_rport *);
+       void    (*terminate_rport_io)(struct fc_rport *);
+
        /* allocation lengths for host-specific data */
        u32                             dd_fcrport_size;
 
@@ -555,7 +560,7 @@ u32 fc_get_event_number(void);
 void fc_host_post_event(struct Scsi_Host *shost, u32 event_number,
                enum fc_host_event_code event_code, u32 event_data);
 void fc_host_post_vendor_event(struct Scsi_Host *shost, u32 event_number,
-               u32 data_len, char * data_buf, u32 vendor_id);
+               u32 data_len, char * data_buf, u64 vendor_id);
        /* Note: when specifying vendor_id to fc_host_post_vendor_event()
         *   be sure to read the Vendor Type and ID formatting requirements
         *   specified in scsi_netlink.h