diff options
author | Mike Christie <michaelc@cs.wisc.edu> | 2008-05-21 16:54:06 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-07-12 09:22:19 -0400 |
commit | 3e5c28ad0391389959ccae81c938c7533efb3490 (patch) | |
tree | bcfb02dc14afa91dd21fd59ec7c82f881be065c9 /include/scsi/scsi_transport_iscsi.h | |
parent | 052d014485d2ce5bb7fa8dd0df875dafd1db77df (diff) |
[SCSI] libiscsi: merge iscsi_mgmt_task and iscsi_cmd_task
There is no need to have the mgmt and cmd tasks separate
structs. It used to save a lot of memory when we overprealocated
memory for tasks, but the next patches will set up the
driver so in the future they can use a mempool or some other
common scsi command allocator and common tagging.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'include/scsi/scsi_transport_iscsi.h')
-rw-r--r-- | include/scsi/scsi_transport_iscsi.h | 41 |
1 files changed, 19 insertions, 22 deletions
diff --git a/include/scsi/scsi_transport_iscsi.h b/include/scsi/scsi_transport_iscsi.h index 4028f121d548..3f24503dfdf9 100644 --- a/include/scsi/scsi_transport_iscsi.h +++ b/include/scsi/scsi_transport_iscsi.h | |||
@@ -34,7 +34,6 @@ struct Scsi_Host; | |||
34 | struct iscsi_cls_conn; | 34 | struct iscsi_cls_conn; |
35 | struct iscsi_conn; | 35 | struct iscsi_conn; |
36 | struct iscsi_cmd_task; | 36 | struct iscsi_cmd_task; |
37 | struct iscsi_mgmt_task; | ||
38 | struct sockaddr; | 37 | struct sockaddr; |
39 | 38 | ||
40 | /** | 39 | /** |
@@ -58,19 +57,22 @@ struct sockaddr; | |||
58 | * @stop_conn: suspend/recover/terminate connection | 57 | * @stop_conn: suspend/recover/terminate connection |
59 | * @send_pdu: send iSCSI PDU, Login, Logout, NOP-Out, Reject, Text. | 58 | * @send_pdu: send iSCSI PDU, Login, Logout, NOP-Out, Reject, Text. |
60 | * @session_recovery_timedout: notify LLD a block during recovery timed out | 59 | * @session_recovery_timedout: notify LLD a block during recovery timed out |
61 | * @init_cmd_task: Initialize a iscsi_cmd_task and any internal structs. | 60 | * @init_task: Initialize a iscsi_task and any internal structs. |
62 | * Called from queuecommand with session lock held. | 61 | * When offloading the data path, this is called from |
63 | * @init_mgmt_task: Initialize a iscsi_mgmt_task and any internal structs. | 62 | * queuecommand with the session lock, or from the |
64 | * Called from iscsi_conn_send_generic with xmitmutex. | 63 | * iscsi_conn_send_pdu context with the session lock. |
65 | * @xmit_cmd_task: Requests LLD to transfer cmd task. Returns 0 or the | 64 | * When not offloading the data path, this is called |
65 | * from the scsi work queue without the session lock. | ||
66 | * @xmit_task Requests LLD to transfer cmd task. Returns 0 or the | ||
66 | * the number of bytes transferred on success, and -Exyz | 67 | * the number of bytes transferred on success, and -Exyz |
67 | * value on error. | 68 | * value on error. When offloading the data path, this |
68 | * @xmit_mgmt_task: Requests LLD to transfer mgmt task. Returns 0 or the | 69 | * is called from queuecommand with the session lock, or |
69 | * the number of bytes transferred on success, and -Exyz | 70 | * from the iscsi_conn_send_pdu context with the session |
70 | * value on error. | 71 | * lock. When not offloading the data path, this is called |
71 | * @cleanup_cmd_task: requests LLD to fail cmd task. Called with xmitmutex | 72 | * from the scsi work queue without the session lock. |
72 | * and session->lock after the connection has been | 73 | * @cleanup_task: requests LLD to fail task. Called with session lock |
73 | * suspended and terminated during recovery. If called | 74 | * and after the connection has been suspended and |
75 | * terminated during recovery. If called | ||
74 | * from abort task then connection is not suspended | 76 | * from abort task then connection is not suspended |
75 | * or terminated but sk_callback_lock is held | 77 | * or terminated but sk_callback_lock is held |
76 | * | 78 | * |
@@ -110,15 +112,10 @@ struct iscsi_transport { | |||
110 | char *data, uint32_t data_size); | 112 | char *data, uint32_t data_size); |
111 | void (*get_stats) (struct iscsi_cls_conn *conn, | 113 | void (*get_stats) (struct iscsi_cls_conn *conn, |
112 | struct iscsi_stats *stats); | 114 | struct iscsi_stats *stats); |
113 | int (*init_cmd_task) (struct iscsi_cmd_task *ctask); | 115 | int (*init_task) (struct iscsi_cmd_task *task); |
114 | void (*init_mgmt_task) (struct iscsi_conn *conn, | 116 | int (*xmit_task) (struct iscsi_cmd_task *task); |
115 | struct iscsi_mgmt_task *mtask); | 117 | void (*cleanup_task) (struct iscsi_conn *conn, |
116 | int (*xmit_cmd_task) (struct iscsi_conn *conn, | 118 | struct iscsi_cmd_task *task); |
117 | struct iscsi_cmd_task *ctask); | ||
118 | void (*cleanup_cmd_task) (struct iscsi_conn *conn, | ||
119 | struct iscsi_cmd_task *ctask); | ||
120 | int (*xmit_mgmt_task) (struct iscsi_conn *conn, | ||
121 | struct iscsi_mgmt_task *mtask); | ||
122 | void (*session_recovery_timedout) (struct iscsi_cls_session *session); | 119 | void (*session_recovery_timedout) (struct iscsi_cls_session *session); |
123 | int (*ep_connect) (struct sockaddr *dst_addr, int non_blocking, | 120 | int (*ep_connect) (struct sockaddr *dst_addr, int non_blocking, |
124 | uint64_t *ep_handle); | 121 | uint64_t *ep_handle); |