target: Move cmd->prot_op check into target_read_prot_action
This patch moves the existing target_complete_ok_work() check for cmd->prot_op into it's own function, so it's easier to add future support for READ INSERT. Reviewed-by: Martin Petersen <martin.petersen@oracle.com> Reviewed-by: Sagi Grimberg <sagig@mellanox.com> Cc: Christoph Hellwig <hch@lst.de> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
This commit is contained in:
parent
5132d1e655
commit
fdeab85298
|
@ -1980,16 +1980,22 @@ static void transport_handle_queue_full(
|
||||||
schedule_work(&cmd->se_dev->qf_work_queue);
|
schedule_work(&cmd->se_dev->qf_work_queue);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool target_check_read_strip(struct se_cmd *cmd)
|
static bool target_read_prot_action(struct se_cmd *cmd)
|
||||||
{
|
{
|
||||||
sense_reason_t rc;
|
sense_reason_t rc;
|
||||||
|
|
||||||
if (!(cmd->se_sess->sup_prot_ops & TARGET_PROT_DIN_STRIP)) {
|
switch (cmd->prot_op) {
|
||||||
rc = sbc_dif_read_strip(cmd);
|
case TARGET_PROT_DIN_STRIP:
|
||||||
if (rc) {
|
if (!(cmd->se_sess->sup_prot_ops & TARGET_PROT_DIN_STRIP)) {
|
||||||
cmd->pi_err = rc;
|
rc = sbc_dif_read_strip(cmd);
|
||||||
return true;
|
if (rc) {
|
||||||
|
cmd->pi_err = rc;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
@ -2064,8 +2070,7 @@ static void target_complete_ok_work(struct work_struct *work)
|
||||||
* backend had PI enabled, if the transport will not be
|
* backend had PI enabled, if the transport will not be
|
||||||
* performing hardware READ_STRIP offload.
|
* performing hardware READ_STRIP offload.
|
||||||
*/
|
*/
|
||||||
if (cmd->prot_op == TARGET_PROT_DIN_STRIP &&
|
if (target_read_prot_action(cmd)) {
|
||||||
target_check_read_strip(cmd)) {
|
|
||||||
ret = transport_send_check_condition_and_sense(cmd,
|
ret = transport_send_check_condition_and_sense(cmd,
|
||||||
cmd->pi_err, 0);
|
cmd->pi_err, 0);
|
||||||
if (ret == -EAGAIN || ret == -ENOMEM)
|
if (ret == -EAGAIN || ret == -ENOMEM)
|
||||||
|
|
Loading…
Reference in New Issue