mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 10:33:41 +02:00
scsi: target: tcm_fc: Convert to new submission API
target_submit_cmd() is now only for simple drivers that do their own sync during shutdown and do not use target_stop_session(). tcm_fc uses target_stop_session() to sync session shutdown with LIO core, so we use target_init_cmd(), target_submit_prep(), target_submit(), because target_init_cmd() will now detect the target_stop_session() call and return an error. Link: https://lore.kernel.org/r/20210227170006.5077-14-michael.christie@oracle.com Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Mike Christie <michael.christie@oracle.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
1f48b065da
commit
47edc84f33
|
|
@ -543,16 +543,22 @@ static void ft_send_work(struct work_struct *work)
|
|||
|
||||
fc_seq_set_resp(cmd->seq, ft_recv_seq, cmd);
|
||||
cmd->se_cmd.tag = fc_seq_exch(cmd->seq)->rxid;
|
||||
|
||||
/*
|
||||
* Use a single se_cmd->cmd_kref as we expect to release se_cmd
|
||||
* directly from ft_check_stop_free callback in response path.
|
||||
*/
|
||||
if (target_submit_cmd(&cmd->se_cmd, cmd->sess->se_sess, fcp->fc_cdb,
|
||||
&cmd->ft_sense_buffer[0], scsilun_to_int(&fcp->fc_lun),
|
||||
ntohl(fcp->fc_dl), task_attr, data_dir,
|
||||
TARGET_SCF_ACK_KREF))
|
||||
if (target_init_cmd(&cmd->se_cmd, cmd->sess->se_sess,
|
||||
&cmd->ft_sense_buffer[0],
|
||||
scsilun_to_int(&fcp->fc_lun), ntohl(fcp->fc_dl),
|
||||
task_attr, data_dir, TARGET_SCF_ACK_KREF))
|
||||
goto err;
|
||||
|
||||
if (target_submit_prep(&cmd->se_cmd, fcp->fc_cdb, NULL, 0, NULL, 0,
|
||||
NULL, 0))
|
||||
return;
|
||||
|
||||
target_submit(&cmd->se_cmd);
|
||||
pr_debug("r_ctl %x target_submit_cmd %p\n", fh->fh_r_ctl, cmd);
|
||||
return;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user