diff options
Diffstat (limited to 'include/scsi/scsi_transport_iscsi.h')
-rw-r--r-- | include/scsi/scsi_transport_iscsi.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/include/scsi/scsi_transport_iscsi.h b/include/scsi/scsi_transport_iscsi.h index 7ff6199cbd55..404f11d331d6 100644 --- a/include/scsi/scsi_transport_iscsi.h +++ b/include/scsi/scsi_transport_iscsi.h | |||
@@ -118,7 +118,7 @@ struct iscsi_transport { | |||
118 | char *data, uint32_t data_size); | 118 | char *data, uint32_t data_size); |
119 | void (*get_stats) (struct iscsi_cls_conn *conn, | 119 | void (*get_stats) (struct iscsi_cls_conn *conn, |
120 | struct iscsi_stats *stats); | 120 | struct iscsi_stats *stats); |
121 | void (*init_cmd_task) (struct iscsi_cmd_task *ctask); | 121 | int (*init_cmd_task) (struct iscsi_cmd_task *ctask); |
122 | void (*init_mgmt_task) (struct iscsi_conn *conn, | 122 | void (*init_mgmt_task) (struct iscsi_conn *conn, |
123 | struct iscsi_mgmt_task *mtask); | 123 | struct iscsi_mgmt_task *mtask); |
124 | int (*xmit_cmd_task) (struct iscsi_conn *conn, | 124 | int (*xmit_cmd_task) (struct iscsi_conn *conn, |
@@ -176,6 +176,7 @@ struct iscsi_cls_conn { | |||
176 | #define ISCSI_STATE_TERMINATE 4 | 176 | #define ISCSI_STATE_TERMINATE 4 |
177 | #define ISCSI_STATE_IN_RECOVERY 5 | 177 | #define ISCSI_STATE_IN_RECOVERY 5 |
178 | #define ISCSI_STATE_RECOVERY_FAILED 6 | 178 | #define ISCSI_STATE_RECOVERY_FAILED 6 |
179 | #define ISCSI_STATE_LOGGING_OUT 7 | ||
179 | 180 | ||
180 | struct iscsi_cls_session { | 181 | struct iscsi_cls_session { |
181 | struct list_head sess_list; /* item in session_list */ | 182 | struct list_head sess_list; /* item in session_list */ |
@@ -185,6 +186,7 @@ struct iscsi_cls_session { | |||
185 | /* recovery fields */ | 186 | /* recovery fields */ |
186 | int recovery_tmo; | 187 | int recovery_tmo; |
187 | struct delayed_work recovery_work; | 188 | struct delayed_work recovery_work; |
189 | struct work_struct unbind_work; | ||
188 | 190 | ||
189 | int target_id; | 191 | int target_id; |
190 | 192 | ||
@@ -205,6 +207,8 @@ struct iscsi_cls_session { | |||
205 | struct iscsi_host { | 207 | struct iscsi_host { |
206 | struct list_head sessions; | 208 | struct list_head sessions; |
207 | struct mutex mutex; | 209 | struct mutex mutex; |
210 | struct workqueue_struct *unbind_workq; | ||
211 | char unbind_workq_name[KOBJ_NAME_LEN]; | ||
208 | }; | 212 | }; |
209 | 213 | ||
210 | /* | 214 | /* |
@@ -214,8 +218,8 @@ extern struct iscsi_cls_session *iscsi_alloc_session(struct Scsi_Host *shost, | |||
214 | struct iscsi_transport *transport); | 218 | struct iscsi_transport *transport); |
215 | extern int iscsi_add_session(struct iscsi_cls_session *session, | 219 | extern int iscsi_add_session(struct iscsi_cls_session *session, |
216 | unsigned int target_id); | 220 | unsigned int target_id); |
217 | extern int iscsi_if_create_session_done(struct iscsi_cls_conn *conn); | 221 | extern int iscsi_session_event(struct iscsi_cls_session *session, |
218 | extern int iscsi_if_destroy_session_done(struct iscsi_cls_conn *conn); | 222 | enum iscsi_uevent_e event); |
219 | extern struct iscsi_cls_session *iscsi_create_session(struct Scsi_Host *shost, | 223 | extern struct iscsi_cls_session *iscsi_create_session(struct Scsi_Host *shost, |
220 | struct iscsi_transport *t, | 224 | struct iscsi_transport *t, |
221 | unsigned int target_id); | 225 | unsigned int target_id); |