Lines Matching defs:task

154  * @task:     iscsi task
157 * Netes: This routine can't fail, just assign iscsi task
161 iscsi_iser_pdu_alloc(struct iscsi_task *task, uint8_t opcode)
163 struct iscsi_iser_task *iser_task = task->dd_data;
165 task->hdr = (struct iscsi_hdr *)&iser_task->desc.iscsi_header;
166 task->hdr_max = sizeof(iser_task->desc.iscsi_header);
172 * iser_initialize_task_headers() - Initialize task headers
173 * @task: iscsi task
183 iser_initialize_task_headers(struct iscsi_task *task,
186 struct iser_conn *iser_conn = task->conn->dd_data;
188 struct iscsi_iser_task *iser_task = task->dd_data;
190 const bool mgmt_task = !task->sc && !in_interrupt();
225 * iscsi_iser_task_init() - Initialize iscsi-iser task
226 * @task: iscsi task
228 * Initialize the task for the scsi command or mgmt command.
231 * to init task headers (dma mapping error).
234 iscsi_iser_task_init(struct iscsi_task *task)
236 struct iscsi_iser_task *iser_task = task->dd_data;
239 ret = iser_initialize_task_headers(task, &iser_task->desc);
241 iser_err("Failed to init task %p, err = %d\n",
246 /* mgmt task */
247 if (!task->sc)
252 iser_task->sc = task->sc;
258 * iscsi_iser_mtask_xmit() - xmit management (immediate) task
260 * @task: task management task
269 iscsi_iser_mtask_xmit(struct iscsi_conn *conn, struct iscsi_task *task)
273 iser_dbg("mtask xmit [cid %d itt 0x%x]\n", conn->id, task->itt);
275 error = iser_send_control(conn, task);
280 * - if yes, the task is recycled at iscsi_complete_pdu
281 * - if no, the task is recycled at iser_snd_completion
288 struct iscsi_task *task)
290 struct iscsi_r2t_info *r2t = &task->unsol_r2t;
295 while (iscsi_task_has_unsol_data(task)) {
296 iscsi_prep_data_out_pdu(task, r2t, &hdr);
302 error = iser_send_data_out(conn, task, &hdr);
317 * iscsi_iser_task_xmit() - xmit iscsi-iser task
318 * @task: iscsi task
323 iscsi_iser_task_xmit(struct iscsi_task *task)
325 struct iscsi_conn *conn = task->conn;
326 struct iscsi_iser_task *iser_task = task->dd_data;
329 if (!task->sc)
330 return iscsi_iser_mtask_xmit(conn, task);
332 if (task->sc->sc_data_direction == DMA_TO_DEVICE) {
333 BUG_ON(scsi_bufflen(task->sc) == 0);
336 task->itt, scsi_bufflen(task->sc),
337 task->imm_count, task->unsol_r2t.data_length);
341 conn->id, task->itt);
345 error = iser_send_command(conn, task);
352 if (iscsi_task_has_unsol_data(task))
353 error = iscsi_iser_task_xmit_unsol_data(conn, task);
360 * iscsi_iser_cleanup_task() - cleanup an iscsi-iser task
361 * @task: iscsi task
367 static void iscsi_iser_cleanup_task(struct iscsi_task *task)
369 struct iscsi_iser_task *iser_task = task->dd_data;
371 struct iser_conn *iser_conn = task->conn->dd_data;
385 if (!task->sc)
395 * iscsi_iser_check_protection() - check protection information status of task.
396 * @task: iscsi task
407 iscsi_iser_check_protection(struct iscsi_task *task, sector_t *sector)
409 struct iscsi_iser_task *iser_task = task->dd_data;