aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_def.h
diff options
context:
space:
mode:
authorVolker Sameske <sameske@de.ibm.com>2006-08-02 11:05:16 +0200
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2006-08-06 11:31:00 -0500
commitfea9d6c7bcd8ff1d60ff74f27ba483b3820b18a3 (patch)
tree9fd3c531809f5b7a275540e5467a59e50b6630b7 /drivers/s390/scsi/zfcp_def.h
parentc2602c48b5ebde55b418ba252737bf60caa4bab0 (diff)
downloadkernel_samsung_smdk4412-fea9d6c7bcd8ff1d60ff74f27ba483b3820b18a3.zip
kernel_samsung_smdk4412-fea9d6c7bcd8ff1d60ff74f27ba483b3820b18a3.tar.gz
kernel_samsung_smdk4412-fea9d6c7bcd8ff1d60ff74f27ba483b3820b18a3.tar.bz2
[SCSI] zfcp: improve management of request IDs
Improve request handling. Use hash table to manage request IDs. Signed-off-by: Volker Sameske <sameske@de.ibm.com> Signed-off-by: Andreas Herrmann <aherrman@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/s390/scsi/zfcp_def.h')
-rw-r--r--drivers/s390/scsi/zfcp_def.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/s390/scsi/zfcp_def.h b/drivers/s390/scsi/zfcp_def.h
index 2df512a..72293f3 100644
--- a/drivers/s390/scsi/zfcp_def.h
+++ b/drivers/s390/scsi/zfcp_def.h
@@ -886,11 +886,11 @@ struct zfcp_adapter {
struct list_head port_remove_lh; /* head of ports to be
removed */
u32 ports; /* number of remote ports */
- struct timer_list scsi_er_timer; /* SCSI err recovery watch */
- struct list_head fsf_req_list_head; /* head of FSF req list */
- spinlock_t fsf_req_list_lock; /* lock for ops on list of
- FSF requests */
- atomic_t fsf_reqs_active; /* # active FSF reqs */
+ struct timer_list scsi_er_timer; /* SCSI err recovery watch */
+ atomic_t reqs_active; /* # active FSF reqs */
+ unsigned long req_no; /* unique FSF req number */
+ struct list_head *req_list; /* list of pending reqs */
+ spinlock_t req_list_lock; /* request list lock */
struct zfcp_qdio_queue request_queue; /* request queue */
u32 fsf_req_seq_no; /* FSF cmnd seq number */
wait_queue_head_t request_wq; /* can be used to wait for
@@ -986,6 +986,7 @@ struct zfcp_unit {
/* FSF request */
struct zfcp_fsf_req {
struct list_head list; /* list of FSF requests */
+ unsigned long req_id; /* unique request ID */
struct zfcp_adapter *adapter; /* adapter request belongs to */
u8 sbal_number; /* nr of SBALs free for use */
u8 sbal_first; /* first SBAL for this request */