static int iscsi_iser_task_xmit_unsol_data(struct iscsi_conn *conn, struct iscsi_task *task) { struct iscsi_data hdr; int error = 0; /* Send data-out PDUs while there's still unsolicited data to send */ while (task->unsol_count > 0) { iscsi_prep_unsolicit_data_pdu(task, &hdr); debug_scsi("Sending data-out: itt 0x%x, data count %d\n", hdr.itt, task->data_count); /* the buffer description has been passed with the command */ /* Send the command */ error = iser_send_data_out(conn, task, &hdr); if (error) { task->unsol_datasn--; goto iscsi_iser_task_xmit_unsol_data_exit; } task->unsol_count -= task->data_count; debug_scsi("Need to send %d more as data-out PDUs\n", task->unsol_count); } iscsi_iser_task_xmit_unsol_data_exit: return error; }
static int iscsi_iser_task_xmit_unsol_data(struct iscsi_conn *conn, struct iscsi_task *task) { struct iscsi_r2t_info *r2t = &task->unsol_r2t; struct iscsi_data hdr; int error = 0; /* Send data-out PDUs while there's still unsolicited data to send */ while (iscsi_task_has_unsol_data(task)) { iscsi_prep_data_out_pdu(task, r2t, &hdr); iser_dbg("Sending data-out: itt 0x%x, data count %d\n", hdr.itt, r2t->data_count); /* the buffer description has been passed with the command */ /* Send the command */ error = iser_send_data_out(conn, task, &hdr); if (error) { r2t->datasn--; goto iscsi_iser_task_xmit_unsol_data_exit; } r2t->sent += r2t->data_count; iser_dbg("Need to send %d more as data-out PDUs\n", r2t->data_length - r2t->sent); } iscsi_iser_task_xmit_unsol_data_exit: return error; }
static int iscsi_iser_task_xmit_unsol_data(struct iscsi_conn *conn, struct iscsi_task *task) { struct iscsi_r2t_info *r2t = &task->unsol_r2t; struct iscsi_data hdr; int error = 0; while (iscsi_task_has_unsol_data(task)) { iscsi_prep_data_out_pdu(task, r2t, &hdr); iser_dbg("Sending data-out: itt 0x%x, data count %d\n", hdr.itt, r2t->data_count); error = iser_send_data_out(conn, task, &hdr); if (error) { r2t->datasn--; goto iscsi_iser_task_xmit_unsol_data_exit; } r2t->sent += r2t->data_count; iser_dbg("Need to send %d more as data-out PDUs\n", r2t->data_length - r2t->sent); } iscsi_iser_task_xmit_unsol_data_exit: return error; }