Loading drivers/target/target_core_alua.c +4 −8 Original line number Diff line number Diff line Loading @@ -59,9 +59,8 @@ struct t10_alua_lu_gp *default_lu_gp; * * See spc4r17 section 6.27 */ int target_emulate_report_target_port_groups(struct se_task *task) int target_emulate_report_target_port_groups(struct se_cmd *cmd) { struct se_cmd *cmd = task->task_se_cmd; struct se_subsystem_dev *su_dev = cmd->se_dev->se_sub_dev; struct se_port *port; struct t10_alua_tg_pt_gp *tg_pt_gp; Loading Loading @@ -166,8 +165,7 @@ int target_emulate_report_target_port_groups(struct se_task *task) transport_kunmap_data_sg(cmd); task->task_scsi_status = GOOD; transport_complete_task(task, 1); target_complete_cmd(cmd, GOOD); return 0; } Loading @@ -176,9 +174,8 @@ int target_emulate_report_target_port_groups(struct se_task *task) * * See spc4r17 section 6.35 */ int target_emulate_set_target_port_groups(struct se_task *task) int target_emulate_set_target_port_groups(struct se_cmd *cmd) { struct se_cmd *cmd = task->task_se_cmd; struct se_device *dev = cmd->se_dev; struct se_subsystem_dev *su_dev = dev->se_sub_dev; struct se_port *port, *l_port = cmd->se_lun->lun_sep; Loading Loading @@ -351,8 +348,7 @@ int target_emulate_set_target_port_groups(struct se_task *task) out: transport_kunmap_data_sg(cmd); task->task_scsi_status = GOOD; transport_complete_task(task, 1); target_complete_cmd(cmd, GOOD); return 0; } Loading drivers/target/target_core_alua.h +2 −2 Original line number Diff line number Diff line Loading @@ -66,8 +66,8 @@ extern struct kmem_cache *t10_alua_lu_gp_mem_cache; extern struct kmem_cache *t10_alua_tg_pt_gp_cache; extern struct kmem_cache *t10_alua_tg_pt_gp_mem_cache; extern int target_emulate_report_target_port_groups(struct se_task *); extern int target_emulate_set_target_port_groups(struct se_task *); extern int target_emulate_report_target_port_groups(struct se_cmd *); extern int target_emulate_set_target_port_groups(struct se_cmd *); extern int core_alua_check_nonop_delay(struct se_cmd *); extern int core_alua_do_port_transition(struct t10_alua_tg_pt_gp *, struct se_device *, struct se_port *, Loading drivers/target/target_core_cdb.c +22 −42 Original line number Diff line number Diff line Loading @@ -601,9 +601,8 @@ target_emulate_evpd_00(struct se_cmd *cmd, unsigned char *buf) return 0; } int target_emulate_inquiry(struct se_task *task) int target_emulate_inquiry(struct se_cmd *cmd) { struct se_cmd *cmd = task->task_se_cmd; struct se_device *dev = cmd->se_dev; struct se_portal_group *tpg = cmd->se_lun->lun_sep->sep_tpg; unsigned char *buf, *map_buf; Loading Loading @@ -667,16 +666,13 @@ int target_emulate_inquiry(struct se_task *task) } transport_kunmap_data_sg(cmd); if (!ret) { task->task_scsi_status = GOOD; transport_complete_task(task, 1); } if (!ret) target_complete_cmd(cmd, GOOD); return ret; } int target_emulate_readcapacity(struct se_task *task) int target_emulate_readcapacity(struct se_cmd *cmd) { struct se_cmd *cmd = task->task_se_cmd; struct se_device *dev = cmd->se_dev; unsigned char *buf; unsigned long long blocks_long = dev->transport->get_blocks(dev); Loading @@ -700,14 +696,12 @@ int target_emulate_readcapacity(struct se_task *task) transport_kunmap_data_sg(cmd); task->task_scsi_status = GOOD; transport_complete_task(task, 1); target_complete_cmd(cmd, GOOD); return 0; } int target_emulate_readcapacity_16(struct se_task *task) int target_emulate_readcapacity_16(struct se_cmd *cmd) { struct se_cmd *cmd = task->task_se_cmd; struct se_device *dev = cmd->se_dev; unsigned char *buf; unsigned long long blocks = dev->transport->get_blocks(dev); Loading Loading @@ -735,8 +729,7 @@ int target_emulate_readcapacity_16(struct se_task *task) transport_kunmap_data_sg(cmd); task->task_scsi_status = GOOD; transport_complete_task(task, 1); target_complete_cmd(cmd, GOOD); return 0; } Loading Loading @@ -875,9 +868,8 @@ target_modesense_dpofua(unsigned char *buf, int type) } } int target_emulate_modesense(struct se_task *task) int target_emulate_modesense(struct se_cmd *cmd) { struct se_cmd *cmd = task->task_se_cmd; struct se_device *dev = cmd->se_dev; char *cdb = cmd->t_task_cdb; unsigned char *rbuf; Loading Loading @@ -950,14 +942,12 @@ int target_emulate_modesense(struct se_task *task) memcpy(rbuf, buf, offset); transport_kunmap_data_sg(cmd); task->task_scsi_status = GOOD; transport_complete_task(task, 1); target_complete_cmd(cmd, GOOD); return 0; } int target_emulate_request_sense(struct se_task *task) int target_emulate_request_sense(struct se_cmd *cmd) { struct se_cmd *cmd = task->task_se_cmd; unsigned char *cdb = cmd->t_task_cdb; unsigned char *buf; u8 ua_asc = 0, ua_ascq = 0; Loading Loading @@ -1011,8 +1001,7 @@ int target_emulate_request_sense(struct se_task *task) end: transport_kunmap_data_sg(cmd); task->task_scsi_status = GOOD; transport_complete_task(task, 1); target_complete_cmd(cmd, GOOD); return 0; } Loading @@ -1020,9 +1009,8 @@ int target_emulate_request_sense(struct se_task *task) * Used for TCM/IBLOCK and TCM/FILEIO for block/blk-lib.c level discard support. * Note this is not used for TCM/pSCSI passthrough */ int target_emulate_unmap(struct se_task *task) int target_emulate_unmap(struct se_cmd *cmd) { struct se_cmd *cmd = task->task_se_cmd; struct se_device *dev = cmd->se_dev; unsigned char *buf, *ptr = NULL; unsigned char *cdb = &cmd->t_task_cdb[0]; Loading Loading @@ -1069,10 +1057,8 @@ int target_emulate_unmap(struct se_task *task) err: transport_kunmap_data_sg(cmd); if (!ret) { task->task_scsi_status = GOOD; transport_complete_task(task, 1); } if (!ret) target_complete_cmd(cmd, GOOD); return ret; } Loading @@ -1080,9 +1066,8 @@ int target_emulate_unmap(struct se_task *task) * Used for TCM/IBLOCK and TCM/FILEIO for block/blk-lib.c level discard support. * Note this is not used for TCM/pSCSI passthrough */ int target_emulate_write_same(struct se_task *task) int target_emulate_write_same(struct se_cmd *cmd) { struct se_cmd *cmd = task->task_se_cmd; struct se_device *dev = cmd->se_dev; sector_t range; sector_t lba = cmd->t_task_lba; Loading Loading @@ -1121,30 +1106,25 @@ int target_emulate_write_same(struct se_task *task) return ret; } task->task_scsi_status = GOOD; transport_complete_task(task, 1); target_complete_cmd(cmd, GOOD); return 0; } int target_emulate_synchronize_cache(struct se_task *task) int target_emulate_synchronize_cache(struct se_cmd *cmd) { struct se_device *dev = task->task_se_cmd->se_dev; struct se_cmd *cmd = task->task_se_cmd; if (!dev->transport->do_sync_cache) { if (!cmd->se_dev->transport->do_sync_cache) { pr_err("SYNCHRONIZE_CACHE emulation not supported" " for: %s\n", dev->transport->name); " for: %s\n", cmd->se_dev->transport->name); cmd->scsi_sense_reason = TCM_UNSUPPORTED_SCSI_OPCODE; return -ENOSYS; } dev->transport->do_sync_cache(task); cmd->se_dev->transport->do_sync_cache(cmd); return 0; } int target_emulate_noop(struct se_task *task) int target_emulate_noop(struct se_cmd *cmd) { task->task_scsi_status = GOOD; transport_complete_task(task, 1); target_complete_cmd(cmd, GOOD); return 0; } drivers/target/target_core_device.c +2 −4 Original line number Diff line number Diff line Loading @@ -643,9 +643,8 @@ void core_dev_unexport( lun->lun_se_dev = NULL; } int target_report_luns(struct se_task *se_task) int target_report_luns(struct se_cmd *se_cmd) { struct se_cmd *se_cmd = se_task->task_se_cmd; struct se_dev_entry *deve; struct se_session *se_sess = se_cmd->se_sess; unsigned char *buf; Loading Loading @@ -696,8 +695,7 @@ int target_report_luns(struct se_task *se_task) buf[3] = (lun_count & 0xff); transport_kunmap_data_sg(se_cmd); se_task->task_scsi_status = GOOD; transport_complete_task(se_task, 1); target_complete_cmd(se_cmd, GOOD); return 0; } Loading drivers/target/target_core_file.c +1 −2 Original line number Diff line number Diff line Loading @@ -356,9 +356,8 @@ static int fd_do_writev(struct se_task *task) return 1; } static void fd_emulate_sync_cache(struct se_task *task) static void fd_emulate_sync_cache(struct se_cmd *cmd) { struct se_cmd *cmd = task->task_se_cmd; struct se_device *dev = cmd->se_dev; struct fd_dev *fd_dev = dev->dev_ptr; int immed = (cmd->t_task_cdb[1] & 0x2); Loading Loading
drivers/target/target_core_alua.c +4 −8 Original line number Diff line number Diff line Loading @@ -59,9 +59,8 @@ struct t10_alua_lu_gp *default_lu_gp; * * See spc4r17 section 6.27 */ int target_emulate_report_target_port_groups(struct se_task *task) int target_emulate_report_target_port_groups(struct se_cmd *cmd) { struct se_cmd *cmd = task->task_se_cmd; struct se_subsystem_dev *su_dev = cmd->se_dev->se_sub_dev; struct se_port *port; struct t10_alua_tg_pt_gp *tg_pt_gp; Loading Loading @@ -166,8 +165,7 @@ int target_emulate_report_target_port_groups(struct se_task *task) transport_kunmap_data_sg(cmd); task->task_scsi_status = GOOD; transport_complete_task(task, 1); target_complete_cmd(cmd, GOOD); return 0; } Loading @@ -176,9 +174,8 @@ int target_emulate_report_target_port_groups(struct se_task *task) * * See spc4r17 section 6.35 */ int target_emulate_set_target_port_groups(struct se_task *task) int target_emulate_set_target_port_groups(struct se_cmd *cmd) { struct se_cmd *cmd = task->task_se_cmd; struct se_device *dev = cmd->se_dev; struct se_subsystem_dev *su_dev = dev->se_sub_dev; struct se_port *port, *l_port = cmd->se_lun->lun_sep; Loading Loading @@ -351,8 +348,7 @@ int target_emulate_set_target_port_groups(struct se_task *task) out: transport_kunmap_data_sg(cmd); task->task_scsi_status = GOOD; transport_complete_task(task, 1); target_complete_cmd(cmd, GOOD); return 0; } Loading
drivers/target/target_core_alua.h +2 −2 Original line number Diff line number Diff line Loading @@ -66,8 +66,8 @@ extern struct kmem_cache *t10_alua_lu_gp_mem_cache; extern struct kmem_cache *t10_alua_tg_pt_gp_cache; extern struct kmem_cache *t10_alua_tg_pt_gp_mem_cache; extern int target_emulate_report_target_port_groups(struct se_task *); extern int target_emulate_set_target_port_groups(struct se_task *); extern int target_emulate_report_target_port_groups(struct se_cmd *); extern int target_emulate_set_target_port_groups(struct se_cmd *); extern int core_alua_check_nonop_delay(struct se_cmd *); extern int core_alua_do_port_transition(struct t10_alua_tg_pt_gp *, struct se_device *, struct se_port *, Loading
drivers/target/target_core_cdb.c +22 −42 Original line number Diff line number Diff line Loading @@ -601,9 +601,8 @@ target_emulate_evpd_00(struct se_cmd *cmd, unsigned char *buf) return 0; } int target_emulate_inquiry(struct se_task *task) int target_emulate_inquiry(struct se_cmd *cmd) { struct se_cmd *cmd = task->task_se_cmd; struct se_device *dev = cmd->se_dev; struct se_portal_group *tpg = cmd->se_lun->lun_sep->sep_tpg; unsigned char *buf, *map_buf; Loading Loading @@ -667,16 +666,13 @@ int target_emulate_inquiry(struct se_task *task) } transport_kunmap_data_sg(cmd); if (!ret) { task->task_scsi_status = GOOD; transport_complete_task(task, 1); } if (!ret) target_complete_cmd(cmd, GOOD); return ret; } int target_emulate_readcapacity(struct se_task *task) int target_emulate_readcapacity(struct se_cmd *cmd) { struct se_cmd *cmd = task->task_se_cmd; struct se_device *dev = cmd->se_dev; unsigned char *buf; unsigned long long blocks_long = dev->transport->get_blocks(dev); Loading @@ -700,14 +696,12 @@ int target_emulate_readcapacity(struct se_task *task) transport_kunmap_data_sg(cmd); task->task_scsi_status = GOOD; transport_complete_task(task, 1); target_complete_cmd(cmd, GOOD); return 0; } int target_emulate_readcapacity_16(struct se_task *task) int target_emulate_readcapacity_16(struct se_cmd *cmd) { struct se_cmd *cmd = task->task_se_cmd; struct se_device *dev = cmd->se_dev; unsigned char *buf; unsigned long long blocks = dev->transport->get_blocks(dev); Loading Loading @@ -735,8 +729,7 @@ int target_emulate_readcapacity_16(struct se_task *task) transport_kunmap_data_sg(cmd); task->task_scsi_status = GOOD; transport_complete_task(task, 1); target_complete_cmd(cmd, GOOD); return 0; } Loading Loading @@ -875,9 +868,8 @@ target_modesense_dpofua(unsigned char *buf, int type) } } int target_emulate_modesense(struct se_task *task) int target_emulate_modesense(struct se_cmd *cmd) { struct se_cmd *cmd = task->task_se_cmd; struct se_device *dev = cmd->se_dev; char *cdb = cmd->t_task_cdb; unsigned char *rbuf; Loading Loading @@ -950,14 +942,12 @@ int target_emulate_modesense(struct se_task *task) memcpy(rbuf, buf, offset); transport_kunmap_data_sg(cmd); task->task_scsi_status = GOOD; transport_complete_task(task, 1); target_complete_cmd(cmd, GOOD); return 0; } int target_emulate_request_sense(struct se_task *task) int target_emulate_request_sense(struct se_cmd *cmd) { struct se_cmd *cmd = task->task_se_cmd; unsigned char *cdb = cmd->t_task_cdb; unsigned char *buf; u8 ua_asc = 0, ua_ascq = 0; Loading Loading @@ -1011,8 +1001,7 @@ int target_emulate_request_sense(struct se_task *task) end: transport_kunmap_data_sg(cmd); task->task_scsi_status = GOOD; transport_complete_task(task, 1); target_complete_cmd(cmd, GOOD); return 0; } Loading @@ -1020,9 +1009,8 @@ int target_emulate_request_sense(struct se_task *task) * Used for TCM/IBLOCK and TCM/FILEIO for block/blk-lib.c level discard support. * Note this is not used for TCM/pSCSI passthrough */ int target_emulate_unmap(struct se_task *task) int target_emulate_unmap(struct se_cmd *cmd) { struct se_cmd *cmd = task->task_se_cmd; struct se_device *dev = cmd->se_dev; unsigned char *buf, *ptr = NULL; unsigned char *cdb = &cmd->t_task_cdb[0]; Loading Loading @@ -1069,10 +1057,8 @@ int target_emulate_unmap(struct se_task *task) err: transport_kunmap_data_sg(cmd); if (!ret) { task->task_scsi_status = GOOD; transport_complete_task(task, 1); } if (!ret) target_complete_cmd(cmd, GOOD); return ret; } Loading @@ -1080,9 +1066,8 @@ int target_emulate_unmap(struct se_task *task) * Used for TCM/IBLOCK and TCM/FILEIO for block/blk-lib.c level discard support. * Note this is not used for TCM/pSCSI passthrough */ int target_emulate_write_same(struct se_task *task) int target_emulate_write_same(struct se_cmd *cmd) { struct se_cmd *cmd = task->task_se_cmd; struct se_device *dev = cmd->se_dev; sector_t range; sector_t lba = cmd->t_task_lba; Loading Loading @@ -1121,30 +1106,25 @@ int target_emulate_write_same(struct se_task *task) return ret; } task->task_scsi_status = GOOD; transport_complete_task(task, 1); target_complete_cmd(cmd, GOOD); return 0; } int target_emulate_synchronize_cache(struct se_task *task) int target_emulate_synchronize_cache(struct se_cmd *cmd) { struct se_device *dev = task->task_se_cmd->se_dev; struct se_cmd *cmd = task->task_se_cmd; if (!dev->transport->do_sync_cache) { if (!cmd->se_dev->transport->do_sync_cache) { pr_err("SYNCHRONIZE_CACHE emulation not supported" " for: %s\n", dev->transport->name); " for: %s\n", cmd->se_dev->transport->name); cmd->scsi_sense_reason = TCM_UNSUPPORTED_SCSI_OPCODE; return -ENOSYS; } dev->transport->do_sync_cache(task); cmd->se_dev->transport->do_sync_cache(cmd); return 0; } int target_emulate_noop(struct se_task *task) int target_emulate_noop(struct se_cmd *cmd) { task->task_scsi_status = GOOD; transport_complete_task(task, 1); target_complete_cmd(cmd, GOOD); return 0; }
drivers/target/target_core_device.c +2 −4 Original line number Diff line number Diff line Loading @@ -643,9 +643,8 @@ void core_dev_unexport( lun->lun_se_dev = NULL; } int target_report_luns(struct se_task *se_task) int target_report_luns(struct se_cmd *se_cmd) { struct se_cmd *se_cmd = se_task->task_se_cmd; struct se_dev_entry *deve; struct se_session *se_sess = se_cmd->se_sess; unsigned char *buf; Loading Loading @@ -696,8 +695,7 @@ int target_report_luns(struct se_task *se_task) buf[3] = (lun_count & 0xff); transport_kunmap_data_sg(se_cmd); se_task->task_scsi_status = GOOD; transport_complete_task(se_task, 1); target_complete_cmd(se_cmd, GOOD); return 0; } Loading
drivers/target/target_core_file.c +1 −2 Original line number Diff line number Diff line Loading @@ -356,9 +356,8 @@ static int fd_do_writev(struct se_task *task) return 1; } static void fd_emulate_sync_cache(struct se_task *task) static void fd_emulate_sync_cache(struct se_cmd *cmd) { struct se_cmd *cmd = task->task_se_cmd; struct se_device *dev = cmd->se_dev; struct fd_dev *fd_dev = dev->dev_ptr; int immed = (cmd->t_task_cdb[1] & 0x2); Loading