Home
last modified time | relevance | path

Searched refs:se_cmd (Results 1 – 25 of 41) sorted by relevance

12

/linux/include/target/
H A Dtarget_core_backend.h45 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 Dtarget_core_xcopy.c116 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 Dtarget_core_tmr.c27 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 Dtarget_core_transport.c54 static void transport_complete_task_attr(struct se_cmd *cmd);
55 static void translate_sense_reason(struct se_cmd *cmd, sense_reason_t reason);
56 static void transport_handle_queue_full(struct se_cmd *cmd,
696 static void target_remove_from_state_list(struct se_cmd *cmd) in target_remove_from_state_list()
712 static void target_remove_from_tmr_list(struct se_cmd *cmd) in target_remove_from_tmr_list()
734 static int transport_cmd_check_stop_to_fabric(struct se_cmd *cmd) in transport_cmd_check_stop_to_fabric()
765 static void transport_lun_remove_cmd(struct se_cmd *cmd) in transport_lun_remove_cmd()
786 struct se_cmd *cmd = container_of(work, struct se_cmd, work); in target_complete_failure_work()
795 static unsigned char *transport_get_sense_buffer(struct se_cmd *cmd) in transport_get_sense_buffer()
814 void transport_copy_sense_to_cmd(struct se_cmd *cmd, unsigned char *sense) in transport_copy_sense_to_cmd()
[all …]
H A Dtarget_core_pr.h62 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 Dtarget_core_alua.h85 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 Dtarget_core_ua.h36 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 Dtarget_core_xcopy.h24 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 Dtarget_core_iblock.c315 static void iblock_complete_cmd(struct se_cmd *cmd, blk_status_t blk_status) in iblock_complete_cmd()
336 struct se_cmd *cmd = bio->bi_private; in iblock_bio_done()
354 static struct bio *iblock_get_bio(struct se_cmd *cmd, sector_t lba, u32 sg_num, in iblock_get_bio()
394 struct se_cmd *cmd = bio->bi_private; in iblock_end_io_flush()
414 iblock_execute_sync_cache(struct se_cmd *cmd) in iblock_execute_sync_cache()
437 iblock_execute_unmap(struct se_cmd *cmd, sector_t lba, sector_t nolb) in iblock_execute_unmap()
456 iblock_execute_zero_out(struct block_device *bdev, struct se_cmd *cmd) in iblock_execute_zero_out()
489 iblock_execute_write_same(struct se_cmd *cmd) in iblock_execute_write_same()
688 iblock_alloc_bip(struct se_cmd *cmd, struct bio *bio, in iblock_alloc_bip()
742 iblock_execute_rw(struct se_cmd *cmd, struct scatterlist *sgl, u32 sgl_nents, in iblock_execute_rw()
[all …]
H A Dtarget_core_internal.h118 struct list_head *, struct se_cmd *);
144 unsigned char *transport_dump_cmd_direction(struct se_cmd *);
153 sense_reason_t target_cmd_size_check(struct se_cmd *cmd, unsigned int size);
158 void __target_execute_cmd(struct se_cmd *, bool);
/linux/drivers/target/tcm_fc/
H A Dtfc_cmd.c35 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 Dtfc_io.c41 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 Dtcm_fc.h109 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/infiniband/ulp/isert/
H A Dib_isert.c79 isert_prot_cmd(struct isert_conn *conn, struct se_cmd *cmd) in isert_prot_cmd()
1069 data_len = cmd->se_cmd.data_length; in isert_handle_scsi_cmd()
1072 cmd->se_cmd.se_cmd_flags |= SCF_PASSTHROUGH_SG_TO_MEM_NOALLOC; in isert_handle_scsi_cmd()
1086 sg_copy_from_buffer(cmd->se_cmd.t_data_sg, sg_nents, in isert_handle_scsi_cmd()
1092 cmd->se_cmd.t_data_sg = &isert_cmd->sg; in isert_handle_scsi_cmd()
1093 cmd->se_cmd.t_data_nents = 1; in isert_handle_scsi_cmd()
1102 if (cmd->write_data_done == cmd->se_cmd.data_length) { in isert_handle_scsi_cmd()
1115 target_put_sess_cmd(&cmd->se_cmd); in isert_handle_scsi_cmd()
1148 cmd->se_cmd.data_length); in isert_handle_iscsi_dataout()
1151 sg_start = &cmd->se_cmd.t_data_sg[sg_off]; in isert_handle_iscsi_dataout()
[all …]
/linux/drivers/xen/
H A Dxen-scsiback.c135 struct se_cmd se_cmd; member
404 resid = pending_req->se_cmd.residual_count; in scsiback_cmd_done()
418 target_put_sess_cmd(&pending_req->se_cmd); in scsiback_cmd_done()
423 struct se_cmd *se_cmd = &pending_req->se_cmd; in scsiback_cmd_exec() local
427 se_cmd->tag = pending_req->rqid; in scsiback_cmd_exec()
428 target_init_cmd(se_cmd, sess, pending_req->sense_buffer, in scsiback_cmd_exec()
432 if (target_submit_prep(se_cmd, pending_req->cmnd, pending_req->sgl, in scsiback_cmd_exec()
436 target_submit(se_cmd); in scsiback_cmd_exec()
628 target_free_tag(se_sess, &pending_req->se_cmd); in scsiback_resp_and_free()
638 struct se_cmd *se_cmd = &pending_req->se_cmd; in scsiback_device_action() local
[all …]
/linux/drivers/target/iscsi/
H A Discsi_target_seq_pdu_list.c213 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 Discsi_target.c826 const bool do_put = cmd->se_cmd.se_tfo != NULL; in iscsit_add_reject_from_cmd()
859 target_put_sess_cmd(&cmd->se_cmd); in iscsit_add_reject_from_cmd()
895 if (ent >= cmd->se_cmd.t_data_nents) { in iscsit_map_iovec()
900 sg = &cmd->se_cmd.t_data_sg[ent]; in iscsit_map_iovec()
930 for_each_sg(cmd->se_cmd.t_data_sg, sg, in iscsit_map_iovec()
931 cmd->se_cmd.t_data_nents, i) { in iscsit_map_iovec()
981 u32 iov_count = max(1UL, DIV_ROUND_UP(cmd->se_cmd.data_length, PAGE_SIZE)); in iscsit_allocate_iovecs()
1195 __target_init_cmd(&cmd->se_cmd, &iscsi_ops, in iscsit_setup_scsi_cmd()
1206 target_get_sess_cmd(&cmd->se_cmd, true); in iscsit_setup_scsi_cmd()
1208 cmd->se_cmd.tag = (__force u32)cmd->init_task_tag; in iscsit_setup_scsi_cmd()
[all …]
H A Discsi_target_erl1.c381 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 Discsi_target_erl0.c41 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 Discsi_target_datain_values.c103 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 Discsi_target_util.c171 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 Dlibsrp.c171 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/vhost/
H A Dscsi.c133 struct se_cmd tvc_se_cmd;
293 struct se_cmd se_cmd; member
446 static void vhost_scsi_release_cmd_res(struct se_cmd *se_cmd) in vhost_scsi_release_cmd_res() argument
448 struct vhost_scsi_cmd *tv_cmd = container_of(se_cmd, in vhost_scsi_release_cmd_res()
484 sbitmap_clear_bit(&svq->scsi_tags, se_cmd->map_tag); in vhost_scsi_release_cmd_res()
510 static void vhost_scsi_release_cmd(struct se_cmd *se_cmd) in vhost_scsi_release_cmd() argument
512 if (se_cmd->se_cmd_flags & SCF_SCSI_TMR_CDB) { in vhost_scsi_release_cmd()
513 struct vhost_scsi_tmf *tmf = container_of(se_cmd, in vhost_scsi_release_cmd()
514 struct vhost_scsi_tmf, se_cmd); in vhost_scsi_release_cmd()
518 struct vhost_scsi_cmd *cmd = container_of(se_cmd, in vhost_scsi_release_cmd()
[all …]
/linux/drivers/target/tcm_remote/
H A Dtcm_remote.c42 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 Dcxgbit_ddp.c245 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()

12