Commit 0b66818a authored by Nicholas Bellinger's avatar Nicholas Bellinger

target: Drop unnecessary CMD_T_DEV_ACTIVE check from transport_lun_remove_cmd

This patch drops an unnecessary acquire/release of se_cmd->t_state_lock within
transport_lun_remove_cmd() when checking CMD_T_DEV_ACTIVE for invoking
target_remove_from_state_list().

For all fast path completion cases, transport_lun_remove_cmd() is always
called ahead of transport_cmd_check_stop(), and since transport_cmd_check_stop()
is calling target_remove_from_state_list() when remove_from_lists=true,
the t_state_lock usage in transport_lun_remove_cmd() can safely be removed.

Cc: Christoph Hellwig <hch@lst.de>
Cc: Roland Dreier <roland@kernel.org>
Cc: Kent Overstreet <koverstreet@google.com>
Cc: Or Gerlitz <ogerlitz@mellanox.com>
Cc: Moussa Ba <moussaba@micron.com>
Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
parent 862e6389
...@@ -530,13 +530,6 @@ static void transport_lun_remove_cmd(struct se_cmd *cmd) ...@@ -530,13 +530,6 @@ static void transport_lun_remove_cmd(struct se_cmd *cmd)
if (!lun) if (!lun)
return; return;
spin_lock_irqsave(&cmd->t_state_lock, flags);
if (cmd->transport_state & CMD_T_DEV_ACTIVE) {
cmd->transport_state &= ~CMD_T_DEV_ACTIVE;
target_remove_from_state_list(cmd);
}
spin_unlock_irqrestore(&cmd->t_state_lock, flags);
spin_lock_irqsave(&lun->lun_cmd_lock, flags); spin_lock_irqsave(&lun->lun_cmd_lock, flags);
if (!list_empty(&cmd->se_lun_node)) if (!list_empty(&cmd->se_lun_node))
list_del_init(&cmd->se_lun_node); list_del_init(&cmd->se_lun_node);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment