Merge ../linux-2.6
This commit is contained in:
@@ -60,6 +60,7 @@ struct iscsi_nopin;
|
||||
#define TMABORT_SUCCESS 0x1
|
||||
#define TMABORT_FAILED 0x2
|
||||
#define TMABORT_TIMEDOUT 0x3
|
||||
#define TMABORT_NOT_FOUND 0x4
|
||||
|
||||
/* Connection suspend "bit" */
|
||||
#define ISCSI_SUSPEND_BIT 1
|
||||
@@ -83,6 +84,12 @@ struct iscsi_mgmt_task {
|
||||
struct list_head running;
|
||||
};
|
||||
|
||||
enum {
|
||||
ISCSI_TASK_COMPLETED,
|
||||
ISCSI_TASK_PENDING,
|
||||
ISCSI_TASK_RUNNING,
|
||||
};
|
||||
|
||||
struct iscsi_cmd_task {
|
||||
/*
|
||||
* Becuae LLDs allocate their hdr differently, this is a pointer to
|
||||
@@ -101,6 +108,8 @@ struct iscsi_cmd_task {
|
||||
struct iscsi_conn *conn; /* used connection */
|
||||
struct iscsi_mgmt_task *mtask; /* tmf mtask in progr */
|
||||
|
||||
/* state set/tested under session->lock */
|
||||
int state;
|
||||
struct list_head running; /* running cmd list */
|
||||
void *dd_data; /* driver/transport data */
|
||||
};
|
||||
@@ -126,6 +135,14 @@ struct iscsi_conn {
|
||||
int id; /* CID */
|
||||
struct list_head item; /* maintains list of conns */
|
||||
int c_stage; /* connection state */
|
||||
/*
|
||||
* Preallocated buffer for pdus that have data but do not
|
||||
* originate from scsi-ml. We never have two pdus using the
|
||||
* buffer at the same time. It is only allocated to
|
||||
* the default max recv size because the pdus we support
|
||||
* should always fit in this buffer
|
||||
*/
|
||||
char *data;
|
||||
struct iscsi_mgmt_task *login_mtask; /* mtask used for login/text */
|
||||
struct iscsi_mgmt_task *mtask; /* xmit mtask in progress */
|
||||
struct iscsi_cmd_task *ctask; /* xmit ctask in progress */
|
||||
@@ -134,7 +151,7 @@ struct iscsi_conn {
|
||||
struct kfifo *immqueue; /* immediate xmit queue */
|
||||
struct kfifo *mgmtqueue; /* mgmt (control) xmit queue */
|
||||
struct list_head mgmt_run_list; /* list of control tasks */
|
||||
struct kfifo *xmitqueue; /* data-path cmd queue */
|
||||
struct list_head xmitqueue; /* data-path cmd queue */
|
||||
struct list_head run_list; /* list of cmds in progress */
|
||||
struct work_struct xmitwork; /* per-conn. xmit workqueue */
|
||||
/*
|
||||
|
@@ -57,8 +57,6 @@ struct sockaddr;
|
||||
* @stop_conn: suspend/recover/terminate connection
|
||||
* @send_pdu: send iSCSI PDU, Login, Logout, NOP-Out, Reject, Text.
|
||||
* @session_recovery_timedout: notify LLD a block during recovery timed out
|
||||
* @suspend_conn_recv: susepend the recv side of the connection
|
||||
* @termincate_conn: destroy socket connection. Called with mutex lock.
|
||||
* @init_cmd_task: Initialize a iscsi_cmd_task and any internal structs.
|
||||
* Called from queuecommand with session lock held.
|
||||
* @init_mgmt_task: Initialize a iscsi_mgmt_task and any internal structs.
|
||||
@@ -112,8 +110,6 @@ struct iscsi_transport {
|
||||
char *data, uint32_t data_size);
|
||||
void (*get_stats) (struct iscsi_cls_conn *conn,
|
||||
struct iscsi_stats *stats);
|
||||
void (*suspend_conn_recv) (struct iscsi_conn *conn);
|
||||
void (*terminate_conn) (struct iscsi_conn *conn);
|
||||
void (*init_cmd_task) (struct iscsi_cmd_task *ctask);
|
||||
void (*init_mgmt_task) (struct iscsi_conn *conn,
|
||||
struct iscsi_mgmt_task *mtask,
|
||||
|
Reference in New Issue
Block a user