target: merge release_cmd methods
The release_cmd_to_pool and release_cmd_direct methods are always the same. Merge them into a single release_cmd method, and clean up the fallout. (nab: fix breakage in transport_generic_free_cmd() parameter build breakage in drivers/target/tcm_fc/tfc_cmd.c) Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
This commit is contained in:

committed by
Nicholas Bellinger

parent
db1620a278
commit
35462975b2
@@ -147,7 +147,7 @@ void ft_release_cmd(struct se_cmd *se_cmd)
|
||||
|
||||
void ft_check_stop_free(struct se_cmd *se_cmd)
|
||||
{
|
||||
transport_generic_free_cmd(se_cmd, 0, 1, 0);
|
||||
transport_generic_free_cmd(se_cmd, 0, 0);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -304,7 +304,7 @@ static void ft_recv_seq(struct fc_seq *sp, struct fc_frame *fp, void *arg)
|
||||
/* XXX need to find cmd if queued */
|
||||
cmd->se_cmd.t_state = TRANSPORT_REMOVE;
|
||||
cmd->seq = NULL;
|
||||
transport_generic_free_cmd(&cmd->se_cmd, 0, 1, 0);
|
||||
transport_generic_free_cmd(&cmd->se_cmd, 0, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -321,7 +321,7 @@ static void ft_recv_seq(struct fc_seq *sp, struct fc_frame *fp, void *arg)
|
||||
printk(KERN_INFO "%s: unhandled frame r_ctl %x\n",
|
||||
__func__, fh->fh_r_ctl);
|
||||
fc_frame_free(fp);
|
||||
transport_generic_free_cmd(&cmd->se_cmd, 0, 1, 0);
|
||||
transport_generic_free_cmd(&cmd->se_cmd, 0, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -443,7 +443,7 @@ static void ft_send_tm(struct ft_cmd *cmd)
|
||||
sess = cmd->sess;
|
||||
transport_send_check_condition_and_sense(&cmd->se_cmd,
|
||||
cmd->se_cmd.scsi_sense_reason, 0);
|
||||
transport_generic_free_cmd(&cmd->se_cmd, 0, 1, 0);
|
||||
transport_generic_free_cmd(&cmd->se_cmd, 0, 0);
|
||||
ft_sess_put(sess);
|
||||
return;
|
||||
}
|
||||
@@ -645,7 +645,7 @@ static void ft_send_cmd(struct ft_cmd *cmd)
|
||||
if (ret == -ENOMEM) {
|
||||
transport_send_check_condition_and_sense(se_cmd,
|
||||
TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE, 0);
|
||||
transport_generic_free_cmd(se_cmd, 0, 1, 0);
|
||||
transport_generic_free_cmd(se_cmd, 0, 0);
|
||||
return;
|
||||
}
|
||||
if (ret == -EINVAL) {
|
||||
@@ -654,7 +654,7 @@ static void ft_send_cmd(struct ft_cmd *cmd)
|
||||
else
|
||||
transport_send_check_condition_and_sense(se_cmd,
|
||||
se_cmd->scsi_sense_reason, 0);
|
||||
transport_generic_free_cmd(se_cmd, 0, 1, 0);
|
||||
transport_generic_free_cmd(se_cmd, 0, 0);
|
||||
return;
|
||||
}
|
||||
transport_generic_handle_cdb(se_cmd);
|
||||
|
Reference in New Issue
Block a user