| /linux/include/target/ |
| H A D | target_core_backend.h | 45 sense_reason_t (*parse_cdb)(struct se_cmd *cmd); 55 unsigned char *(*get_sense_buffer)(struct se_cmd *); 66 sense_reason_t (*execute_rw)(struct se_cmd *cmd, struct scatterlist *, 68 sense_reason_t (*execute_sync_cache)(struct se_cmd *cmd); 69 sense_reason_t (*execute_write_same)(struct se_cmd *cmd); 70 sense_reason_t (*execute_unmap)(struct se_cmd *cmd, 72 sense_reason_t (*execute_pr_out)(struct se_cmd *cmd, u8 sa, u64 key, 74 sense_reason_t (*execute_pr_in)(struct se_cmd *cmd, u8 sa, 81 void target_complete_cmd(struct se_cmd *, u8); 82 void target_set_cmd_data_length(struct se_cmd *, int); [all …]
|
| /linux/drivers/target/ |
| H A D | target_core_xcopy.c | 116 static int target_xcopy_parse_tiddesc_e4(struct se_cmd *se_cmd, struct xcopy_op *xop, in target_xcopy_parse_tiddesc_e4() argument 176 xop->src_dev = se_cmd->se_dev; in target_xcopy_parse_tiddesc_e4() 193 xop->dst_dev = se_cmd->se_dev; in target_xcopy_parse_tiddesc_e4() 202 static int target_xcopy_parse_target_descriptors(struct se_cmd *se_cmd, in target_xcopy_parse_target_descriptors() argument 206 struct se_device *local_dev = se_cmd->se_dev; in target_xcopy_parse_target_descriptors() 242 rc = target_xcopy_parse_tiddesc_e4(se_cmd, xop, in target_xcopy_parse_target_descriptors() 260 rc = target_xcopy_locate_se_dev_e4(se_cmd->se_sess, in target_xcopy_parse_target_descriptors() 266 rc = target_xcopy_locate_se_dev_e4(se_cmd->se_sess, in target_xcopy_parse_target_descriptors() 392 struct se_cmd se_cmd; member 401 static int xcopy_pt_get_cmd_state(struct se_cmd *se_cmd) in xcopy_pt_get_cmd_state() argument [all …]
|
| H A D | target_core_tmr.c | 27 struct se_cmd *se_cmd, in core_tmr_alloc_req() argument 40 se_cmd->se_cmd_flags |= SCF_SCSI_TMR_CDB; in core_tmr_alloc_req() 41 se_cmd->se_tmr_req = tmr; in core_tmr_alloc_req() 42 tmr->task_cmd = se_cmd; in core_tmr_alloc_req() 57 struct se_cmd *cmd) in target_check_cdb_and_preempt() 71 static bool __target_check_io_state(struct se_cmd *se_cmd, in __target_check_io_state() argument 74 struct se_session *sess = se_cmd->se_sess; in __target_check_io_state() 88 spin_lock(&se_cmd->t_state_lock); in __target_check_io_state() 89 if (se_cmd->transport_state & (CMD_T_COMPLETE | CMD_T_FABRIC_STOP)) { in __target_check_io_state() 91 " fabric stop, skipping\n", se_cmd->tag); in __target_check_io_state() [all …]
|
| H A D | target_core_pr.h | 62 extern sense_reason_t target_scsi2_reservation_release(struct se_cmd *); 63 extern sense_reason_t target_scsi2_reservation_reserve(struct se_cmd *); 76 extern sense_reason_t target_scsi3_emulate_pr_in(struct se_cmd *); 77 extern sense_reason_t target_scsi3_emulate_pr_out(struct se_cmd *); 78 extern sense_reason_t target_check_reservation(struct se_cmd *);
|
| H A D | target_core_alua.h | 85 extern sense_reason_t target_emulate_report_target_port_groups(struct se_cmd *); 86 extern sense_reason_t target_emulate_set_target_port_groups(struct se_cmd *); 87 extern sense_reason_t target_emulate_report_referrals(struct se_cmd *); 88 extern int core_alua_check_nonop_delay(struct se_cmd *); 149 extern sense_reason_t target_alua_state_check(struct se_cmd *cmd);
|
| H A D | target_core_ua.h | 36 extern sense_reason_t target_scsi3_ua_check(struct se_cmd *); 40 extern bool core_scsi3_ua_for_check_condition(struct se_cmd *, u8 *, u8 *, 42 extern int core_scsi3_ua_clear_for_request_sense(struct se_cmd *,
|
| H A D | target_core_xcopy.h | 24 struct se_cmd *xop_se_cmd; 67 extern sense_reason_t target_do_xcopy(struct se_cmd *); 68 extern sense_reason_t target_do_receive_copy_results(struct se_cmd *);
|
| H A D | target_core_internal.h | 117 struct list_head *, struct se_cmd *); 143 unsigned char *transport_dump_cmd_direction(struct se_cmd *); 152 sense_reason_t target_cmd_size_check(struct se_cmd *cmd, unsigned int size); 157 void __target_execute_cmd(struct se_cmd *, bool);
|
| H A D | target_core_file.c | 246 struct se_cmd *cmd; 266 fd_execute_rw_aio(struct se_cmd *cmd, struct scatterlist *sgl, u32 sgl_nents, in fd_execute_rw_aio() 312 static int fd_do_rw(struct se_cmd *cmd, struct file *fd, in fd_do_rw() 383 fd_execute_sync_cache(struct se_cmd *cmd) in fd_execute_sync_cache() 428 fd_execute_write_same(struct se_cmd *cmd) in fd_execute_write_same() 514 fd_do_prot_unmap(struct se_cmd *cmd, sector_t lba, sector_t nolb) in fd_do_prot_unmap() 533 fd_execute_unmap(struct se_cmd *cmd, sector_t lba, sector_t nolb) in fd_execute_unmap() 584 fd_execute_rw_buffered(struct se_cmd *cmd, struct scatterlist *sgl, u32 sgl_nents, in fd_execute_rw_buffered() 668 fd_execute_rw(struct se_cmd *cmd, struct scatterlist *sgl, u32 sgl_nents, in fd_execute_rw() 907 fd_parse_cdb(struct se_cmd *cmd) in fd_parse_cdb()
|
| H A D | target_core_ua.c | 26 target_scsi3_ua_check(struct se_cmd *cmd) in target_scsi3_ua_check() 193 bool core_scsi3_ua_for_check_condition(struct se_cmd *cmd, u8 *key, u8 *asc, in core_scsi3_ua_for_check_condition() 267 struct se_cmd *cmd, in core_scsi3_ua_clear_for_request_sense()
|
| /linux/drivers/target/tcm_fc/ |
| H A D | tfc_cmd.c | 35 struct se_cmd *se_cmd; in _ft_dump_cmd() local 39 se_cmd = &cmd->se_cmd; in _ft_dump_cmd() 41 caller, cmd, cmd->sess, cmd->seq, se_cmd); in _ft_dump_cmd() 44 caller, cmd, se_cmd->t_data_nents, in _ft_dump_cmd() 45 se_cmd->data_length, se_cmd->se_cmd_flags); in _ft_dump_cmd() 47 for_each_sg(se_cmd->t_data_sg, sg, se_cmd->t_data_nents, count) in _ft_dump_cmd() 81 target_free_tag(sess->se_sess, &cmd->se_cmd); in ft_free_cmd() 85 void ft_release_cmd(struct se_cmd *se_cmd) in ft_release_cmd() argument 87 struct ft_cmd *cmd = container_of(se_cmd, struct ft_cmd, se_cmd); in ft_release_cmd() 92 int ft_check_stop_free(struct se_cmd *se_cmd) in ft_check_stop_free() argument [all …]
|
| H A D | tfc_io.c | 41 int ft_queue_data_in(struct se_cmd *se_cmd) in ft_queue_data_in() argument 43 struct ft_cmd *cmd = container_of(se_cmd, struct ft_cmd, se_cmd); in ft_queue_data_in() 67 if (se_cmd->scsi_status == SAM_STAT_TASK_SET_FULL) in ft_queue_data_in() 74 remaining = se_cmd->data_length; in ft_queue_data_in() 79 BUG_ON(remaining && !se_cmd->t_data_sg); in ft_queue_data_in() 81 sg = se_cmd->t_data_sg; in ft_queue_data_in() 177 se_cmd->scsi_status = SAM_STAT_TASK_SET_FULL; in ft_queue_data_in() 182 return ft_queue_status(se_cmd); in ft_queue_data_in() 189 target_execute_cmd(&cmd->se_cmd); in ft_execute_work() 197 struct se_cmd *se_cmd = &cmd->se_cmd; in ft_recv_write_data() local [all …]
|
| H A D | tcm_fc.h | 109 struct se_cmd se_cmd; /* Local TCM I/O descriptor */ member 144 int ft_check_stop_free(struct se_cmd *); 145 void ft_release_cmd(struct se_cmd *); 146 int ft_queue_status(struct se_cmd *); 147 int ft_queue_data_in(struct se_cmd *); 148 int ft_write_pending(struct se_cmd *); 149 void ft_queue_tm_resp(struct se_cmd *); 150 void ft_aborted_task(struct se_cmd *);
|
| /linux/drivers/usb/gadget/function/ |
| H A D | f_tcm.c | 65 transport_generic_free_cmd(&cmd->se_cmd, 0); in bot_status_complete() 154 if (cmd->se_cmd.scsi_status == SAM_STAT_GOOD) { in bot_send_status() 202 transport_generic_free_cmd(&cmd->se_cmd, 0); in bot_read_compl() 212 struct se_cmd *se_cmd = &cmd->se_cmd; in bot_send_read_response() local 223 cmd->data_buf = kmalloc(se_cmd->data_length, GFP_ATOMIC); in bot_send_read_response() 227 sg_copy_to_buffer(se_cmd->t_data_sg, in bot_send_read_response() 228 se_cmd->t_data_nents, in bot_send_read_response() 230 se_cmd->data_length); in bot_send_read_response() 235 fu->bot_req_in->num_sgs = se_cmd->t_data_nents; in bot_send_read_response() 236 fu->bot_req_in->sg = se_cmd->t_data_sg; in bot_send_read_response() [all …]
|
| /linux/drivers/infiniband/ulp/isert/ |
| H A D | ib_isert.c | 76 isert_prot_cmd(struct isert_conn *conn, struct se_cmd *cmd) in isert_prot_cmd() 1060 data_len = cmd->se_cmd.data_length; in isert_handle_scsi_cmd() 1063 cmd->se_cmd.se_cmd_flags |= SCF_PASSTHROUGH_SG_TO_MEM_NOALLOC; in isert_handle_scsi_cmd() 1077 sg_copy_from_buffer(cmd->se_cmd.t_data_sg, sg_nents, in isert_handle_scsi_cmd() 1083 cmd->se_cmd.t_data_sg = &isert_cmd->sg; in isert_handle_scsi_cmd() 1084 cmd->se_cmd.t_data_nents = 1; in isert_handle_scsi_cmd() 1093 if (cmd->write_data_done == cmd->se_cmd.data_length) { in isert_handle_scsi_cmd() 1106 target_put_sess_cmd(&cmd->se_cmd); in isert_handle_scsi_cmd() 1139 cmd->se_cmd.data_length); in isert_handle_iscsi_dataout() 1142 sg_start = &cmd->se_cmd.t_data_sg[sg_off]; in isert_handle_iscsi_dataout() [all …]
|
| /linux/drivers/target/iscsi/ |
| H A D | iscsi_target_seq_pdu_list.c | 213 if (cmd->se_cmd.data_direction == DMA_TO_DEVICE) in iscsit_determine_counts_for_list() 224 unsolicited_data_length = min(cmd->se_cmd.data_length, in iscsit_determine_counts_for_list() 227 while (offset < cmd->se_cmd.data_length) { in iscsit_determine_counts_for_list() 240 if ((offset + mdsl) >= cmd->se_cmd.data_length) { in iscsit_determine_counts_for_list() 242 (cmd->se_cmd.data_length - offset); in iscsit_determine_counts_for_list() 243 offset += (cmd->se_cmd.data_length - offset); in iscsit_determine_counts_for_list() 262 if ((offset + mdsl) >= cmd->se_cmd.data_length) { in iscsit_determine_counts_for_list() 263 offset += (cmd->se_cmd.data_length - offset); in iscsit_determine_counts_for_list() 296 if (cmd->se_cmd.data_direction == DMA_TO_DEVICE) in iscsit_do_build_pdu_and_seq_lists() 310 unsolicited_data_length = min(cmd->se_cmd.data_length, in iscsit_do_build_pdu_and_seq_lists() [all …]
|
| H A D | iscsi_target_erl1.c | 381 struct se_cmd *se_cmd = &cmd->se_cmd; in iscsit_handle_recovery_datain() local 383 if (!(se_cmd->transport_state & CMD_T_COMPLETE)) { in iscsit_handle_recovery_datain() 888 struct se_cmd *se_cmd = &cmd->se_cmd; in iscsit_execute_cmd() local 911 if (cmd->se_cmd.transport_state & CMD_T_ABORTED) in iscsit_execute_cmd() 913 return transport_send_check_condition_and_sense(se_cmd, in iscsit_execute_cmd() 923 target_execute_cmd(&cmd->se_cmd); in iscsit_execute_cmd() 930 if (cmd->se_cmd.transport_state & CMD_T_ABORTED) in iscsit_execute_cmd() 945 if (cmd->se_cmd.transport_state & CMD_T_ABORTED) in iscsit_execute_cmd() 950 return target_submit(&cmd->se_cmd); in iscsit_execute_cmd() 958 if (cmd->se_cmd.se_tmr_req->response) { in iscsit_execute_cmd() [all …]
|
| H A D | iscsi_target_erl0.c | 41 cmd->seq_end_offset = min(cmd->se_cmd.data_length, in iscsit_set_dataout_sequence_values() 51 cmd->seq_end_offset = (cmd->se_cmd.data_length > in iscsit_set_dataout_sequence_values() 54 conn->sess->sess_ops->MaxBurstLength) : cmd->se_cmd.data_length; in iscsit_set_dataout_sequence_values() 59 cmd->se_cmd.data_length) ? cmd->se_cmd.data_length : in iscsit_set_dataout_sequence_values() 157 transport_send_check_condition_and_sense(&cmd->se_cmd, in iscsit_dataout_check_unsolicited_sequence() 175 if ((first_burst_len != cmd->se_cmd.data_length) && in iscsit_dataout_check_unsolicited_sequence() 181 cmd->se_cmd.data_length); in iscsit_dataout_check_unsolicited_sequence() 182 transport_send_check_condition_and_sense(&cmd->se_cmd, in iscsit_dataout_check_unsolicited_sequence() 194 if (first_burst_len == cmd->se_cmd.data_length) { in iscsit_dataout_check_unsolicited_sequence() 197 " error.\n", cmd->init_task_tag, cmd->se_cmd.data_length); in iscsit_dataout_check_unsolicited_sequence() [all …]
|
| H A D | iscsi_target_datain_values.c | 103 read_data_left = (cmd->se_cmd.data_length - read_data_done); in iscsit_set_datain_values_yes_and_yes() 202 read_data_left = (cmd->se_cmd.data_length - read_data_done); in iscsit_set_datain_values_no_and_yes() 221 cmd->se_cmd.data_length) { in iscsit_set_datain_values_no_and_yes() 222 datain->length = (cmd->se_cmd.data_length - offset); in iscsit_set_datain_values_no_and_yes() 254 if ((read_data_done + datain->length) == cmd->se_cmd.data_length) in iscsit_set_datain_values_no_and_yes() 323 read_data_left = (cmd->se_cmd.data_length - read_data_done); in iscsit_set_datain_values_yes_and_no() 334 if ((read_data_done + pdu->length) == cmd->se_cmd.data_length) { in iscsit_set_datain_values_yes_and_no() 423 read_data_left = (cmd->se_cmd.data_length - read_data_done); in iscsit_set_datain_values_no_and_no() 453 if ((read_data_done + pdu->length) == cmd->se_cmd.data_length) in iscsit_set_datain_values_no_and_no()
|
| H A D | iscsi_target_util.c | 171 cmd->se_cmd.map_tag = tag; in iscsit_allocate_cmd() 172 cmd->se_cmd.map_cpu = cpu; in iscsit_allocate_cmd() 656 struct se_cmd *se_cmd = &cmd->se_cmd; in iscsit_release_cmd() local 675 target_free_tag(sess->se_sess, se_cmd); in iscsit_release_cmd() 703 struct se_cmd *se_cmd = cmd->se_cmd.se_tfo ? &cmd->se_cmd : NULL; in iscsit_free_cmd() local 709 if (se_cmd) { in iscsit_free_cmd() 710 rc = transport_generic_free_cmd(se_cmd, shutdown); in iscsit_free_cmd() 711 if (!rc && shutdown && se_cmd->se_sess) { in iscsit_free_cmd() 713 target_put_sess_cmd(se_cmd); in iscsit_free_cmd()
|
| /linux/drivers/scsi/ibmvscsi_tgt/ |
| H A D | libsrp.c | 171 sg = cmd->se_cmd.t_data_sg; in srp_direct_data() 172 nsg = dma_map_sg(iue->target->dev, sg, cmd->se_cmd.t_data_nents, in srp_direct_data() 176 cmd->se_cmd.t_data_nents); in srp_direct_data() 179 len = min(cmd->se_cmd.data_length, be32_to_cpu(md->len)); in srp_direct_data() 187 dma_unmap_sg(iue->target->dev, sg, cmd->se_cmd.t_data_nents, in srp_direct_data() 207 sg = cmd->se_cmd.t_data_sg; in srp_indirect_data() 244 nsg = dma_map_sg(iue->target->dev, sg, cmd->se_cmd.t_data_nents, in srp_indirect_data() 248 cmd->se_cmd.t_data_nents); in srp_indirect_data() 252 len = min(cmd->se_cmd.data_length, be32_to_cpu(id->len)); in srp_indirect_data() 260 dma_unmap_sg(iue->target->dev, sg, cmd->se_cmd.t_data_nents, in srp_indirect_data() [all …]
|
| /linux/drivers/scsi/qla2xxx/ |
| H A D | qla_target.c | 1990 vha->vp_idx, cmd->se_cmd.tag); in abort_cmds_for_lun() 2077 mcmd->se_cmd.cpuid = h->cpuid; in __qlt_24xx_handle_abts() 2085 mcmd->unpacked_lun = abort_cmd->se_cmd.orig_fe_lun; in __qlt_24xx_handle_abts() 2089 mcmd->se_cmd.cpuid = abort_cmd->se_cmd.cpuid; in __qlt_24xx_handle_abts() 2095 queue_work_on(mcmd->se_cmd.cpuid, qla_tgt_wq, &mcmd->work); in __qlt_24xx_handle_abts() 2393 if (cmd->se_cmd.prot_op == TARGET_PROT_NORMAL) { in qlt_pci_map_calc_cnt() 2404 if ((cmd->se_cmd.prot_op == TARGET_PROT_DIN_INSERT) || in qlt_pci_map_calc_cnt() 2405 (cmd->se_cmd.prot_op == TARGET_PROT_DOUT_STRIP)) { in qlt_pci_map_calc_cnt() 2419 if ((cmd->se_cmd.prot_op == TARGET_PROT_DIN_INSERT) || in qlt_pci_map_calc_cnt() 2420 (cmd->se_cmd.prot_op == TARGET_PROT_DOUT_STRIP)) { in qlt_pci_map_calc_cnt() [all …]
|
| /linux/drivers/target/tcm_remote/ |
| H A D | tcm_remote.c | 42 static int tcm_remote_dummy_cmd_fn(struct se_cmd *se_cmd) in tcm_remote_dummy_cmd_fn() argument 47 static void tcm_remote_dummy_cmd_void_fn(struct se_cmd *se_cmd) in tcm_remote_dummy_cmd_void_fn() argument
|
| /linux/drivers/target/iscsi/cxgbit/ |
| H A D | cxgbit_ddp.c | 245 ttinfo->sgl = cmd->se_cmd.t_data_sg; in cxgbit_get_r2t_ttt() 246 ttinfo->nents = cmd->se_cmd.t_data_nents; in cxgbit_get_r2t_ttt() 248 ret = cxgbit_ddp_reserve(csk, ttinfo, cmd->se_cmd.data_length); in cxgbit_get_r2t_ttt() 251 csk, cmd, cmd->se_cmd.data_length, ttinfo->nents); in cxgbit_get_r2t_ttt() 268 if (cmd->se_cmd.se_cmd_flags & SCF_PASSTHROUGH_SG_TO_MEM_NOALLOC) { in cxgbit_unmap_cmd() 281 cmd->se_cmd.data_length)) in cxgbit_unmap_cmd()
|
| H A D | cxgbit_target.c | 355 sg = &cmd->se_cmd.t_data_sg[data_offset / PAGE_SIZE]; in cxgbit_map_skb() 400 u32 data_length = cmd->se_cmd.data_length; in cxgbit_tx_datain_iso() 403 bool task_sense = !!(cmd->se_cmd.se_cmd_flags & in cxgbit_tx_datain_iso() 518 u32 data_length = cmd->se_cmd.data_length; in cxgbit_xmit_datain_pdu() 879 if (cmd->se_cmd.se_cmd_flags & SCF_PASSTHROUGH_SG_TO_MEM_NOALLOC) { in cxgbit_handle_immediate_data() 889 cmd->se_cmd.t_data_sg = &ccmd->sg; in cxgbit_handle_immediate_data() 890 cmd->se_cmd.t_data_nents = 1; in cxgbit_handle_immediate_data() 894 struct scatterlist *sg = &cmd->se_cmd.t_data_sg[0]; in cxgbit_handle_immediate_data() 902 if (cmd->write_data_done == cmd->se_cmd.data_length) { in cxgbit_handle_immediate_data() 940 target_put_sess_cmd(&cmd->se_cmd); in cxgbit_get_immediate_data() [all …]
|