Lines Matching refs:cmd
43 void iscsit_attach_datain_req(struct iscsi_cmd *cmd, struct iscsi_datain_req *dr) in iscsit_attach_datain_req() argument
45 spin_lock(&cmd->datain_lock); in iscsit_attach_datain_req()
46 list_add_tail(&dr->cmd_datain_node, &cmd->datain_list); in iscsit_attach_datain_req()
47 spin_unlock(&cmd->datain_lock); in iscsit_attach_datain_req()
50 void iscsit_free_datain_req(struct iscsi_cmd *cmd, struct iscsi_datain_req *dr) in iscsit_free_datain_req() argument
52 spin_lock(&cmd->datain_lock); in iscsit_free_datain_req()
54 spin_unlock(&cmd->datain_lock); in iscsit_free_datain_req()
59 void iscsit_free_all_datain_reqs(struct iscsi_cmd *cmd) in iscsit_free_all_datain_reqs() argument
63 spin_lock(&cmd->datain_lock); in iscsit_free_all_datain_reqs()
64 list_for_each_entry_safe(dr, dr_tmp, &cmd->datain_list, cmd_datain_node) { in iscsit_free_all_datain_reqs()
68 spin_unlock(&cmd->datain_lock); in iscsit_free_all_datain_reqs()
71 struct iscsi_datain_req *iscsit_get_datain_req(struct iscsi_cmd *cmd) in iscsit_get_datain_req() argument
73 if (list_empty(&cmd->datain_list)) { in iscsit_get_datain_req()
75 " 0x%08x\n", cmd->init_task_tag); in iscsit_get_datain_req()
79 return list_first_entry(&cmd->datain_list, struct iscsi_datain_req, in iscsit_get_datain_req()
87 struct iscsi_cmd *cmd, in iscsit_set_datain_values_yes_and_yes() argument
91 struct iscsi_conn *conn = cmd->conn; in iscsit_set_datain_values_yes_and_yes()
94 dr = iscsit_get_datain_req(cmd); in iscsit_set_datain_values_yes_and_yes()
100 cmd, dr) < 0) in iscsit_set_datain_values_yes_and_yes()
107 cmd->next_burst_len : dr->next_burst_len; in iscsit_set_datain_values_yes_and_yes()
109 cmd->read_data_done : dr->read_data_done; in iscsit_set_datain_values_yes_and_yes()
111 read_data_left = (cmd->se_cmd.data_length - read_data_done); in iscsit_set_datain_values_yes_and_yes()
114 cmd->init_task_tag); in iscsit_set_datain_values_yes_and_yes()
144 datain->data_sn = (!dr->recovery) ? cmd->data_sn++ : dr->data_sn++; in iscsit_set_datain_values_yes_and_yes()
148 cmd->next_burst_len = next_burst_len; in iscsit_set_datain_values_yes_and_yes()
149 cmd->read_data_done += datain->length; in iscsit_set_datain_values_yes_and_yes()
185 struct iscsi_cmd *cmd, in iscsit_set_datain_values_no_and_yes() argument
189 struct iscsi_conn *conn = cmd->conn; in iscsit_set_datain_values_no_and_yes()
193 dr = iscsit_get_datain_req(cmd); in iscsit_set_datain_values_no_and_yes()
199 cmd, dr) < 0) in iscsit_set_datain_values_no_and_yes()
206 cmd->read_data_done : dr->read_data_done; in iscsit_set_datain_values_no_and_yes()
208 cmd->seq_send_order : dr->seq_send_order; in iscsit_set_datain_values_no_and_yes()
210 read_data_left = (cmd->se_cmd.data_length - read_data_done); in iscsit_set_datain_values_no_and_yes()
213 cmd->init_task_tag); in iscsit_set_datain_values_no_and_yes()
217 seq = iscsit_get_seq_holder_for_datain(cmd, seq_send_order); in iscsit_set_datain_values_no_and_yes()
224 seq->first_datasn = cmd->data_sn; in iscsit_set_datain_values_no_and_yes()
229 cmd->se_cmd.data_length) { in iscsit_set_datain_values_no_and_yes()
230 datain->length = (cmd->se_cmd.data_length - offset); in iscsit_set_datain_values_no_and_yes()
262 if ((read_data_done + datain->length) == cmd->se_cmd.data_length) in iscsit_set_datain_values_no_and_yes()
265 datain->data_sn = (!dr->recovery) ? cmd->data_sn++ : dr->data_sn++; in iscsit_set_datain_values_no_and_yes()
267 cmd->seq_send_order = seq_send_order; in iscsit_set_datain_values_no_and_yes()
268 cmd->read_data_done += datain->length; in iscsit_set_datain_values_no_and_yes()
306 struct iscsi_cmd *cmd, in iscsit_set_datain_values_yes_and_no() argument
310 struct iscsi_conn *conn = cmd->conn; in iscsit_set_datain_values_yes_and_no()
314 dr = iscsit_get_datain_req(cmd); in iscsit_set_datain_values_yes_and_no()
320 cmd, dr) < 0) in iscsit_set_datain_values_yes_and_no()
327 cmd->next_burst_len : dr->next_burst_len; in iscsit_set_datain_values_yes_and_no()
329 cmd->read_data_done : dr->read_data_done; in iscsit_set_datain_values_yes_and_no()
331 read_data_left = (cmd->se_cmd.data_length - read_data_done); in iscsit_set_datain_values_yes_and_no()
334 cmd->init_task_tag); in iscsit_set_datain_values_yes_and_no()
338 pdu = iscsit_get_pdu_holder_for_seq(cmd, NULL); in iscsit_set_datain_values_yes_and_no()
342 if ((read_data_done + pdu->length) == cmd->se_cmd.data_length) { in iscsit_set_datain_values_yes_and_no()
361 pdu->data_sn = (!dr->recovery) ? cmd->data_sn++ : dr->data_sn++; in iscsit_set_datain_values_yes_and_no()
363 cmd->next_burst_len = next_burst_len; in iscsit_set_datain_values_yes_and_no()
364 cmd->read_data_done += pdu->length; in iscsit_set_datain_values_yes_and_no()
405 struct iscsi_cmd *cmd, in iscsit_set_datain_values_no_and_no() argument
409 struct iscsi_conn *conn = cmd->conn; in iscsit_set_datain_values_no_and_no()
414 dr = iscsit_get_datain_req(cmd); in iscsit_set_datain_values_no_and_no()
420 cmd, dr) < 0) in iscsit_set_datain_values_no_and_no()
427 cmd->read_data_done : dr->read_data_done; in iscsit_set_datain_values_no_and_no()
429 cmd->seq_send_order : dr->seq_send_order; in iscsit_set_datain_values_no_and_no()
431 read_data_left = (cmd->se_cmd.data_length - read_data_done); in iscsit_set_datain_values_no_and_no()
434 cmd->init_task_tag); in iscsit_set_datain_values_no_and_no()
438 seq = iscsit_get_seq_holder_for_datain(cmd, seq_send_order); in iscsit_set_datain_values_no_and_no()
445 seq->first_datasn = cmd->data_sn; in iscsit_set_datain_values_no_and_no()
447 pdu = iscsit_get_pdu_holder_for_seq(cmd, seq); in iscsit_set_datain_values_no_and_no()
461 if ((read_data_done + pdu->length) == cmd->se_cmd.data_length) in iscsit_set_datain_values_no_and_no()
464 pdu->data_sn = (!dr->recovery) ? cmd->data_sn++ : dr->data_sn++; in iscsit_set_datain_values_no_and_no()
466 cmd->seq_send_order = seq_send_order; in iscsit_set_datain_values_no_and_no()
467 cmd->read_data_done += pdu->length; in iscsit_set_datain_values_no_and_no()
507 struct iscsi_cmd *cmd, in iscsit_get_datain_values() argument
510 struct iscsi_conn *conn = cmd->conn; in iscsit_get_datain_values()
514 return iscsit_set_datain_values_yes_and_yes(cmd, datain); in iscsit_get_datain_values()
517 return iscsit_set_datain_values_no_and_yes(cmd, datain); in iscsit_get_datain_values()
520 return iscsit_set_datain_values_yes_and_no(cmd, datain); in iscsit_get_datain_values()
523 return iscsit_set_datain_values_no_and_no(cmd, datain); in iscsit_get_datain_values()