[SCSI] libfc: rport retry on LS_RJT from certain ELS
[safe/jmp/linux-2.6] / include / scsi / scsi_device.h
index b49e725..01a4c58 100644 (file)
@@ -159,8 +159,6 @@ struct scsi_device {
        atomic_t iodone_cnt;
        atomic_t ioerr_cnt;
 
-       int timeout;
-
        struct device           sdev_gendev,
                                sdev_dev;
 
@@ -238,6 +236,16 @@ struct scsi_target {
                                                 * for the device at a time. */
        unsigned int            pdt_1f_for_no_lun;      /* PDT = 0x1f */
                                                /* means no lun present */
+       /* commands actually active on LLD. protected by host lock. */
+       unsigned int            target_busy;
+       /*
+        * LLDs should set this in the slave_alloc host template callout.
+        * If set to zero then there is not limit.
+        */
+       unsigned int            can_queue;
+       unsigned int            target_blocked;
+       unsigned int            max_target_blocked;
+#define SCSI_DEFAULT_TARGET_BLOCKED    3
 
        char                    scsi_level;
        struct execute_work     ew;
@@ -357,10 +365,11 @@ extern int scsi_is_target_device(const struct device *);
 extern int scsi_execute(struct scsi_device *sdev, const unsigned char *cmd,
                        int data_direction, void *buffer, unsigned bufflen,
                        unsigned char *sense, int timeout, int retries,
-                       int flag);
+                       int flag, int *resid);
 extern int scsi_execute_req(struct scsi_device *sdev, const unsigned char *cmd,
                            int data_direction, void *buffer, unsigned bufflen,
-                           struct scsi_sense_hdr *, int timeout, int retries);
+                           struct scsi_sense_hdr *, int timeout, int retries,
+                           int *resid);
 extern int scsi_execute_async(struct scsi_device *sdev,
                              const unsigned char *cmd, int cmd_len, int data_direction,
                              void *buffer, unsigned bufflen, int use_sg,