Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d43d6aea authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Nicholas Bellinger
Browse files

target: remove the t_task_cdbs_ex_left field in struct se_cmd



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: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
parent 226b6faf
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -333,13 +333,6 @@ static void core_tmr_drain_state_list(
		spin_lock_irqsave(&cmd->t_state_lock, flags);
		target_stop_cmd(cmd, &flags);

		if (!atomic_dec_and_test(&cmd->t_task_cdbs_ex_left)) {
			spin_unlock_irqrestore(&cmd->t_state_lock, flags);
			pr_debug("LUN_RESET: Skipping cmd: %p, dev: %p for"
				" t_task_cdbs_ex_left: %d\n", cmd, dev,
				atomic_read(&cmd->t_task_cdbs_ex_left));
			continue;
		}
		fe_count = atomic_read(&cmd->t_fe_count);

		if (!(cmd->transport_state & CMD_T_ACTIVE)) {
+1 −6
Original line number Diff line number Diff line
@@ -457,7 +457,6 @@ static void target_remove_from_state_list(struct se_cmd *cmd)
	spin_lock_irqsave(&dev->execute_task_lock, flags);
	if (cmd->state_active) {
		list_del(&cmd->state_list);
		atomic_dec(&cmd->t_task_cdbs_ex_left);
		cmd->state_active = false;
	}
	spin_unlock_irqrestore(&dev->execute_task_lock, flags);
@@ -1771,9 +1770,7 @@ void transport_generic_request_failure(struct se_cmd *cmd)
	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_ex_left: %d --"
		" CMD_T_ACTIVE: %d CMD_T_STOP: %d CMD_T_SENT: %d\n",
		atomic_read(&cmd->t_task_cdbs_ex_left),
	pr_debug("-----[ CMD_T_ACTIVE: %d CMD_T_STOP: %d CMD_T_SENT: %d\n",
		(cmd->transport_state & CMD_T_ACTIVE) != 0,
		(cmd->transport_state & CMD_T_STOP) != 0,
		(cmd->transport_state & CMD_T_SENT) != 0);
@@ -3503,8 +3500,6 @@ int transport_generic_new_cmd(struct se_cmd *cmd)
	atomic_inc(&cmd->t_fe_count);
	atomic_inc(&cmd->t_se_count);

	atomic_set(&cmd->t_task_cdbs_ex_left, 1);

	/*
	 * For WRITEs, let the fabric know its buffer is ready.
	 *
+0 −1
Original line number Diff line number Diff line
@@ -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_ex_left;
	unsigned int		transport_state;
#define CMD_T_ABORTED		(1 << 0)
#define CMD_T_ACTIVE		(1 << 1)