• Home
  • Raw
  • Download

Lines Matching refs:task

454 void iscsi_tcp_cleanup_task(struct iscsi_task *task)  in iscsi_tcp_cleanup_task()  argument
456 struct iscsi_tcp_task *tcp_task = task->dd_data; in iscsi_tcp_cleanup_task()
460 if (!task->sc) in iscsi_tcp_cleanup_task()
468 ISCSI_DBG_TCP(task->conn, "pending r2t dropped\n"); in iscsi_tcp_cleanup_task()
486 static int iscsi_tcp_data_in(struct iscsi_conn *conn, struct iscsi_task *task) in iscsi_tcp_data_in() argument
489 struct iscsi_tcp_task *tcp_task = task->dd_data; in iscsi_tcp_data_in()
492 unsigned total_in_length = task->sc->sdb.length; in iscsi_tcp_data_in()
536 struct iscsi_task *task; in iscsi_tcp_r2t_rsp() local
543 task = iscsi_itt_to_ctask(conn, hdr->itt); in iscsi_tcp_r2t_rsp()
544 if (!task) { in iscsi_tcp_r2t_rsp()
547 } else if (task->sc->sc_data_direction != DMA_TO_DEVICE) { in iscsi_tcp_r2t_rsp()
555 if (task->state != ISCSI_TASK_RUNNING) { in iscsi_tcp_r2t_rsp()
560 task->last_xfer = jiffies; in iscsi_tcp_r2t_rsp()
561 if (!iscsi_get_task(task)) { in iscsi_tcp_r2t_rsp()
581 tcp_task = task->dd_data; in iscsi_tcp_r2t_rsp()
593 task->itt); in iscsi_tcp_r2t_rsp()
612 if (data_offset + data_length > task->sc->sdb.length) { in iscsi_tcp_r2t_rsp()
616 data_offset, task->sc->sdb.length); in iscsi_tcp_r2t_rsp()
645 iscsi_requeue_task(task); in iscsi_tcp_r2t_rsp()
649 iscsi_put_task(task); in iscsi_tcp_r2t_rsp()
693 struct iscsi_task *task; in iscsi_tcp_hdr_dissect() local
721 task = iscsi_itt_to_ctask(conn, hdr->itt); in iscsi_tcp_hdr_dissect()
722 if (!task) in iscsi_tcp_hdr_dissect()
725 rc = iscsi_tcp_data_in(conn, task); in iscsi_tcp_hdr_dissect()
732 struct iscsi_tcp_task *tcp_task = task->dd_data; in iscsi_tcp_hdr_dissect()
734 struct scsi_data_buffer *sdb = &task->sc->sdb; in iscsi_tcp_hdr_dissect()
752 task->last_xfer = jiffies; in iscsi_tcp_hdr_dissect()
993 int iscsi_tcp_task_init(struct iscsi_task *task) in iscsi_tcp_task_init() argument
995 struct iscsi_tcp_task *tcp_task = task->dd_data; in iscsi_tcp_task_init()
996 struct iscsi_conn *conn = task->conn; in iscsi_tcp_task_init()
997 struct scsi_cmnd *sc = task->sc; in iscsi_tcp_task_init()
1005 ISCSI_DBG_TCP(conn, "mtask deq [itt 0x%x]\n", task->itt); in iscsi_tcp_task_init()
1007 return conn->session->tt->init_pdu(task, 0, task->data_count); in iscsi_tcp_task_init()
1015 task->itt, task->imm_count, task->unsol_r2t.data_length); in iscsi_tcp_task_init()
1017 err = conn->session->tt->init_pdu(task, 0, task->imm_count); in iscsi_tcp_task_init()
1020 task->imm_count = 0; in iscsi_tcp_task_init()
1025 static struct iscsi_r2t_info *iscsi_tcp_get_curr_r2t(struct iscsi_task *task) in iscsi_tcp_get_curr_r2t() argument
1027 struct iscsi_tcp_task *tcp_task = task->dd_data; in iscsi_tcp_get_curr_r2t()
1030 if (iscsi_task_has_unsol_data(task)) in iscsi_tcp_get_curr_r2t()
1031 r2t = &task->unsol_r2t; in iscsi_tcp_get_curr_r2t()
1038 ISCSI_DBG_TCP(task->conn, in iscsi_tcp_get_curr_r2t()
1069 int iscsi_tcp_task_xmit(struct iscsi_task *task) in iscsi_tcp_task_xmit() argument
1071 struct iscsi_conn *conn = task->conn; in iscsi_tcp_task_xmit()
1078 rc = session->tt->xmit_pdu(task); in iscsi_tcp_task_xmit()
1083 if (!task->sc) { in iscsi_tcp_task_xmit()
1084 if (task->hdr->itt == RESERVED_ITT) in iscsi_tcp_task_xmit()
1085 iscsi_put_task(task); in iscsi_tcp_task_xmit()
1090 if (task->sc->sc_data_direction != DMA_TO_DEVICE) in iscsi_tcp_task_xmit()
1093 r2t = iscsi_tcp_get_curr_r2t(task); in iscsi_tcp_task_xmit()
1100 rc = conn->session->tt->alloc_pdu(task, ISCSI_OP_SCSI_DATA_OUT); in iscsi_tcp_task_xmit()
1103 iscsi_prep_data_out_pdu(task, r2t, (struct iscsi_data *) task->hdr); in iscsi_tcp_task_xmit()
1106 r2t, r2t->datasn - 1, task->hdr->itt, in iscsi_tcp_task_xmit()
1109 rc = conn->session->tt->init_pdu(task, r2t->data_offset + r2t->sent, in iscsi_tcp_task_xmit()
1163 struct iscsi_task *task = session->cmds[cmd_i]; in iscsi_tcp_r2tpool_alloc() local
1164 struct iscsi_tcp_task *tcp_task = task->dd_data; in iscsi_tcp_r2tpool_alloc()
1193 struct iscsi_task *task = session->cmds[i]; in iscsi_tcp_r2tpool_alloc() local
1194 struct iscsi_tcp_task *tcp_task = task->dd_data; in iscsi_tcp_r2tpool_alloc()
1208 struct iscsi_task *task = session->cmds[i]; in iscsi_tcp_r2tpool_free() local
1209 struct iscsi_tcp_task *tcp_task = task->dd_data; in iscsi_tcp_r2tpool_free()