[PATCH 5/7] target: remove the t_task_cdbs_left field in struct se_cmd

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Now that tasks are gone we are guaranteed to only get a single completion
per command, and thus don't need this counter.

Signed-off-by: Christoph Hellwig <hch@xxxxxx>

---
 drivers/target/target_core_tmr.c       |    2 --
 drivers/target/target_core_transport.c |   11 +----------
 include/target/target_core_base.h      |    1 -
 3 files changed, 1 insertion(+), 13 deletions(-)

Index: lio-core/drivers/target/target_core_tmr.c
===================================================================
--- lio-core.orig/drivers/target/target_core_tmr.c	2012-04-24 06:08:55.352370232 +0200
+++ lio-core/drivers/target/target_core_tmr.c	2012-04-24 06:10:38.568372875 +0200
@@ -313,11 +313,9 @@ static void core_tmr_drain_state_list(
 			cmd->se_tfo->get_cmd_state(cmd), cmd->t_state,
 			cmd->t_task_cdb[0]);
 		pr_debug("LUN_RESET: ITT[0x%08x] - pr_res_key: 0x%016Lx"
-			" t_task_cdbs_left: %d"
 			" -- CMD_T_ACTIVE: %d"
 			" CMD_T_STOP: %d CMD_T_SENT: %d\n",
 			cmd->se_tfo->get_task_tag(cmd), cmd->pr_res_key,
-			atomic_read(&cmd->t_task_cdbs_left),
 			(cmd->transport_state & CMD_T_ACTIVE) != 0,
 			(cmd->transport_state & CMD_T_STOP) != 0,
 			(cmd->transport_state & CMD_T_SENT) != 0);
Index: lio-core/drivers/target/target_core_transport.c
===================================================================
--- lio-core.orig/drivers/target/target_core_transport.c	2012-04-24 06:09:02.068370404 +0200
+++ lio-core/drivers/target/target_core_transport.c	2012-04-24 06:10:38.572372875 +0200
@@ -700,11 +700,6 @@ void target_complete_cmd(struct se_cmd *
 	if (!success)
 		cmd->transport_state |= CMD_T_FAILED;
 
-	if (!atomic_dec_and_test(&cmd->t_task_cdbs_left)) {
-		spin_unlock_irqrestore(&cmd->t_state_lock, flags);
-		return;
-	}
-
 	/*
 	 * Check for case where an explict ABORT_TASK has been received
 	 * and transport_wait_for_tasks() will be waiting for completion..
@@ -1755,7 +1750,6 @@ bool target_stop_cmd(struct se_cmd *cmd,
 		pr_debug("cmd %p stopped successfully\n", cmd);
 
 		spin_lock_irqsave(&cmd->t_state_lock, *flags);
-		atomic_dec(&cmd->t_task_cdbs_left);
 		cmd->transport_state &= ~CMD_T_REQUEST_STOP;
 		cmd->transport_state &= ~CMD_T_BUSY;
 		was_active = true;
@@ -1777,10 +1771,8 @@ void transport_generic_request_failure(s
 	pr_debug("-----[ i_state: %d t_state: %d scsi_sense_reason: %d\n",
 		cmd->se_tfo->get_cmd_state(cmd),
 		cmd->t_state, cmd->scsi_sense_reason);
-	pr_debug("-----[ t_task_cdbs_left: %d"
-		" t_task_cdbs_ex_left: %d --"
+	pr_debug("-----[ t_task_cdbs_ex_left: %d --"
 		" CMD_T_ACTIVE: %d CMD_T_STOP: %d CMD_T_SENT: %d\n",
-		atomic_read(&cmd->t_task_cdbs_left),
 		atomic_read(&cmd->t_task_cdbs_ex_left),
 		(cmd->transport_state & CMD_T_ACTIVE) != 0,
 		(cmd->transport_state & CMD_T_STOP) != 0,
@@ -3507,7 +3499,6 @@ int transport_generic_new_cmd(struct se_
 	atomic_inc(&cmd->t_fe_count);
 	atomic_inc(&cmd->t_se_count);
 
-	atomic_set(&cmd->t_task_cdbs_left, 1);
 	atomic_set(&cmd->t_task_cdbs_ex_left, 1);
 
 	/*
Index: lio-core/include/target/target_core_base.h
===================================================================
--- lio-core.orig/include/target/target_core_base.h	2012-04-24 06:09:02.072370404 +0200
+++ lio-core/include/target/target_core_base.h	2012-04-24 06:10:38.572372875 +0200
@@ -549,7 +549,6 @@ struct se_cmd {
 	unsigned long long	t_task_lba;
 	atomic_t		t_fe_count;
 	atomic_t		t_se_count;
-	atomic_t		t_task_cdbs_left;
 	atomic_t		t_task_cdbs_ex_left;
 	unsigned int		transport_state;
 #define CMD_T_ABORTED		(1 << 0)

--
To unsubscribe from this list: send the line "unsubscribe target-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux SCSI]     [Kernel Newbies]     [Linux SCSI Target Infrastructure]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Device Mapper]

  Powered by Linux