Lines Matching defs:task
1351 static void task_release_itt(struct iscsi_task *task, itt_t hdr_itt)
1353 struct scsi_cmnd *sc = task->sc;
1354 struct iscsi_tcp_conn *tcp_conn = task->conn->dd_data;
1361 "cdev 0x%p, task 0x%p, release tag 0x%x.\n",
1362 cdev, task, tag);
1365 struct cxgbi_task_data *tdata = iscsi_task_cxgbi_data(task);
1382 static int task_reserve_itt(struct iscsi_task *task, itt_t *hdr_itt)
1384 struct scsi_cmnd *sc = task->sc;
1385 struct iscsi_conn *conn = task->conn;
1391 u32 sw_tag = cxgbi_build_sw_tag(task->itt, sess->age);
1396 struct cxgbi_task_data *tdata = iscsi_task_cxgbi_data(task);
1406 "csk 0x%p, R task 0x%p, %u,%u, no ddp.\n",
1407 cconn->cep->csk, task, tdata->dlen,
1420 "cdev 0x%p, task 0x%p, 0x%x(0x%x,0x%x)->0x%x/0x%x.\n",
1421 cdev, task, sw_tag, task->itt, sess->age, tag, *hdr_itt);
1535 * task->exp_datasn to the datasn in completion
1540 struct iscsi_task *task = iscsi_itt_to_ctask(conn, itt);
1543 if (task && task->sc) {
1544 struct iscsi_tcp_task *tcp_task = task->dd_data;
1812 static void cxgbi_task_data_sgl_check(struct iscsi_task *task)
1814 struct scsi_cmnd *sc = task->sc;
1815 struct cxgbi_task_data *tdata = iscsi_task_cxgbi_data(task);
1839 cxgbi_task_data_sgl_read(struct iscsi_task *task, u32 offset, u32 count,
1842 struct scsi_cmnd *sc = task->sc;
1843 struct cxgbi_task_data *tdata = iscsi_task_cxgbi_data(task);
1885 int cxgbi_conn_alloc_pdu(struct iscsi_task *task, u8 op)
1887 struct iscsi_conn *conn = task->conn;
1888 struct iscsi_session *session = task->conn->session;
1893 struct iscsi_tcp_task *tcp_task = task->dd_data;
1894 struct cxgbi_task_data *tdata = iscsi_task_cxgbi_data(task);
1895 struct scsi_cmnd *sc = task->sc;
1903 pr_err("task 0x%p, tcp_task 0x%p, tdata 0x%p.\n",
1904 task, tcp_task, tdata);
1908 pr_err("task 0x%p, csk gone.\n", task);
1915 task->hdr = NULL;
1930 if (task->state == ISCSI_TASK_PENDING)
1934 cxgbi_task_data_sgl_check(task);
1983 err = cxgbi_task_data_sgl_read(task,
1988 "task 0x%p, tcp_task 0x%p, tdata 0x%p, "
1990 task, tcp_task, tdata, err, count, dlimit);
2004 pr_err("task 0x%p, tcp_task 0x%p, tdata 0x%p, "
2006 task, tcp_task, tdata, err);
2027 if (task->sc) {
2028 task->hdr = (struct iscsi_hdr *)tdata->skb->data;
2030 task->hdr = kzalloc(SKB_TX_ISCSI_PDU_HEADER_MAX, GFP_ATOMIC);
2031 if (!task->hdr) {
2038 task->hdr_max = SKB_TX_ISCSI_PDU_HEADER_MAX;
2045 task_reserve_itt(task, &task->hdr->itt);
2048 "task 0x%p, op 0x%x, skb 0x%p,%u+%u/%u, itt 0x%x.\n",
2049 task, op, tdata->skb, cdev->skb_tx_rsvd, headroom,
2050 conn->max_xmit_dlength, be32_to_cpu(task->hdr->itt));
2061 cxgbi_prep_iso_info(struct iscsi_task *task, struct sk_buff *skb,
2066 struct cxgbi_task_data *tdata = iscsi_task_cxgbi_data(task);
2067 struct iscsi_conn *conn = task->conn;
2069 struct iscsi_tcp_task *tcp_task = task->dd_data;
2080 if (task->hdr->opcode == ISCSI_OP_SCSI_CMD && session->imm_data_en) {
2085 dlength = ntoh24(task->hdr->dlength);
2087 hton24(task->hdr->dlength, dlength);
2091 if (iscsi_task_has_unsol_data(task))
2092 r2t = &task->unsol_r2t;
2099 "task->hdr_len %u, r2t->data_length %u, r2t->sent %u\n",
2100 count, tdata->count, num_pdu, task->hdr_len,
2111 if (task->hdr->flags & ISCSI_FLAG_CMD_FINAL)
2114 task->hdr->flags &= ~ISCSI_FLAG_CMD_FINAL;
2116 iso_info->op = task->hdr->opcode;
2117 iso_info->ahs = task->hdr->hlength;
2121 iso_info->len = count + task->hdr_len;
2124 cxgbi_skcb_tx_iscsi_hdrlen(skb) = task->hdr_len;
2144 int cxgbi_conn_init_pdu(struct iscsi_task *task, unsigned int offset,
2147 struct iscsi_conn *conn = task->conn;
2148 struct iscsi_tcp_task *tcp_task = task->dd_data;
2149 struct cxgbi_task_data *tdata = iscsi_task_cxgbi_data(task);
2151 struct scsi_cmnd *sc = task->sc;
2159 pr_err("task 0x%p,0x%p, tcp_task 0x%p, tdata 0x%p/0x%p.\n",
2160 task, task->sc, tcp_task,
2167 "task 0x%p,0x%p, skb 0x%p, 0x%x,0x%x,0x%x, %u+%u.\n",
2168 task, task->sc, skb, (*skb->data) & ISCSI_OPCODE_MASK,
2169 be32_to_cpu(task->cmdsn), be32_to_cpu(task->hdr->itt), offset, count);
2171 skb_put(skb, task->hdr_len);
2194 err = cxgbi_task_data_sgl_read(task, offset, count, &dlimit);
2196 pr_err("task 0x%p,0x%p, tcp_task 0x%p, tdata 0x%p/0x%p "
2197 "dlimit %u, sgl err %d.\n", task, task->sc,
2216 char *dst = skb->data + task->hdr_len;
2244 pg = virt_to_head_page(task->data);
2247 task->data - (char *)page_address(pg),
2265 cxgbi_prep_iso_info(task, skb, count);
2361 int cxgbi_conn_xmit_pdu(struct iscsi_task *task)
2363 struct iscsi_tcp_conn *tcp_conn = task->conn->dd_data;
2365 struct iscsi_tcp_task *tcp_task = task->dd_data;
2366 struct cxgbi_task_data *tdata = iscsi_task_cxgbi_data(task);
2375 pr_err("task 0x%p,0x%p, tcp_task 0x%p, tdata 0x%p/0x%p.\n",
2376 task, task->sc, tcp_task,
2384 "task 0x%p, skb NULL.\n", task);
2393 "task 0x%p, csk gone.\n", task);
2406 pr_err("task 0x%p, ppod writing using ofldq failed.\n",
2407 task);
2411 if (!task->sc)
2412 memcpy(skb->data, task->hdr, SKB_TX_ISCSI_PDU_HEADER_MAX);
2418 log_debug(1 << CXGBI_DBG_PDU_TX, "task 0x%p,0x%p, rv %d.\n",
2419 task, task->sc, err);
2421 if (task->conn->hdrdgst_en)
2424 if (datalen && task->conn->datadgst_en)
2427 task->conn->txdata_octets += pdulen;
2443 "task 0x%p, skb 0x%p, len %u/%u, %d EAGAIN.\n",
2444 task, skb, skb->len, skb->data_len, err);
2462 task->itt, skb, skb->len, skb->data_len, err);
2464 iscsi_conn_printk(KERN_ERR, task->conn, "xmit err %d.\n", err);
2465 iscsi_conn_failure(task->conn, ISCSI_ERR_XMIT_FAILED);
2470 void cxgbi_cleanup_task(struct iscsi_task *task)
2472 struct iscsi_tcp_task *tcp_task = task->dd_data;
2473 struct cxgbi_task_data *tdata = iscsi_task_cxgbi_data(task);
2476 pr_info("task 0x%p,0x%p, tcp_task 0x%p, tdata 0x%p/0x%p.\n",
2477 task, task->sc, tcp_task,
2483 "task 0x%p, skb 0x%p, itt 0x%x.\n",
2484 task, tdata->skb, task->hdr_itt);
2488 if (!task->sc)
2489 kfree(task->hdr);
2490 task->hdr = NULL;
2492 /* never reached the xmit task callout */
2498 task_release_itt(task, task->hdr_itt);
2501 iscsi_tcp_cleanup_task(task);