aboutsummaryrefslogtreecommitdiffstats
path: root/include/scsi/scsi_transport_iscsi.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/scsi/scsi_transport_iscsi.h')
-rw-r--r--include/scsi/scsi_transport_iscsi.h10
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
180struct iscsi_cls_session { 181struct 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 {
205struct iscsi_host { 207struct 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);
215extern int iscsi_add_session(struct iscsi_cls_session *session, 219extern int iscsi_add_session(struct iscsi_cls_session *session,
216 unsigned int target_id); 220 unsigned int target_id);
217extern int iscsi_if_create_session_done(struct iscsi_cls_conn *conn); 221extern int iscsi_session_event(struct iscsi_cls_session *session,
218extern int iscsi_if_destroy_session_done(struct iscsi_cls_conn *conn); 222 enum iscsi_uevent_e event);
219extern struct iscsi_cls_session *iscsi_create_session(struct Scsi_Host *shost, 223extern 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);