[PATCH] [LIO-Target 4/10]: Convert ErrorRecoveryLevel=2 code to use se_cmd_t

14 views
Skip to first unread message

Nicholas A. Bellinger

unread,
Dec 9, 2008, 11:28:18 PM12/9/08
to Linux-iSCSI.org Target Dev
>From 811c691fb456a69e53db0fdd0d4d71f4328d6526 Mon Sep 17 00:00:00 2001
From: Nicholas Bellinger <n...@linux-iscsi.org>
Date: Tue, 9 Dec 2008 19:31:38 -0800
Subject: [PATCH] [LIO-Target]: Convert ErrorRecoveryLevel=2 code to use se_cmd_t

This patch converts the ERL=2 code to use the SE_CMD() macro for accessing
se_cmd_t. The SE_CMO() macro is used for se_cmd_t->transport_wait_for_tasks()
usage.

Signed-off-by: Nicholas A. Bellinger <n...@linux-iscsi.org>
---
drivers/lio-core/iscsi_target_erl2.c | 53 +++++++++++++++++++++-------------
1 files changed, 33 insertions(+), 20 deletions(-)

diff --git a/drivers/lio-core/iscsi_target_erl2.c b/drivers/lio-core/iscsi_target_erl2.c
index 6905d37..e0bad78 100644
--- a/drivers/lio-core/iscsi_target_erl2.c
+++ b/drivers/lio-core/iscsi_target_erl2.c
@@ -197,10 +197,12 @@ extern void iscsi_free_connection_recovery_entires (iscsi_session_t *sess)

cmd->conn = NULL;
spin_unlock(&cr->conn_recovery_cmd_lock);
- if (!(cmd->cmd_flags & ICF_SE_LUN_CMD) || !cmd->transport_wait_for_tasks)
- iscsi_release_cmd_to_pool(cmd, sess);
+ if (!(cmd->cmd_flags & ICF_SE_LUN_CMD) ||
+ !(SE_CMD(cmd)->transport_wait_for_tasks))
+ __iscsi_release_cmd_to_pool(cmd, sess);
else
- cmd->transport_wait_for_tasks(cmd, 1, 1);
+ SE_CMD(cmd)->transport_wait_for_tasks(
+ SE_CMD(cmd), 1, 1);
spin_lock(&cr->conn_recovery_cmd_lock);

cmd = cmd_next;
@@ -227,10 +229,12 @@ extern void iscsi_free_connection_recovery_entires (iscsi_session_t *sess)

cmd->conn = NULL;
spin_unlock(&cr->conn_recovery_cmd_lock);
- if (!(cmd->cmd_flags & ICF_SE_LUN_CMD) || !cmd->transport_wait_for_tasks)
- iscsi_release_cmd_to_pool(cmd, sess);
+ if (!(cmd->cmd_flags & ICF_SE_LUN_CMD) ||
+ !(SE_CMD(cmd)->transport_wait_for_tasks))
+ __iscsi_release_cmd_to_pool(cmd, sess);
else
- cmd->transport_wait_for_tasks(cmd, 1, 1);
+ SE_CMD(cmd)->transport_wait_for_tasks(
+ SE_CMD(cmd), 1, 1);
spin_lock(&cr->conn_recovery_cmd_lock);

cmd = cmd_next;
@@ -369,10 +373,12 @@ extern void iscsi_discard_cr_cmds_by_expstatsn (
iscsi_remove_cmd_from_connection_recovery(cmd, sess);

spin_unlock(&cr->conn_recovery_cmd_lock);
- if (!(cmd->cmd_flags & ICF_SE_LUN_CMD) || !cmd->transport_wait_for_tasks)
- iscsi_release_cmd_to_pool(cmd, sess);
+ if (!(cmd->cmd_flags & ICF_SE_LUN_CMD) ||
+ !(SE_CMD(cmd)->transport_wait_for_tasks))
+ __iscsi_release_cmd_to_pool(cmd, sess);
else
- cmd->transport_wait_for_tasks(cmd, 1, 0);
+ SE_CMD(cmd)->transport_wait_for_tasks(
+ SE_CMD(cmd), 1, 0);
spin_lock(&cr->conn_recovery_cmd_lock);

cmd = cmd_next;
@@ -443,10 +449,12 @@ extern int iscsi_discard_unacknowledged_ooo_cmdsns_for_conn (iscsi_conn_t *conn)
iscsi_remove_cmd_from_conn_list(cmd, conn);

spin_unlock_bh(&conn->cmd_lock);
- if (!(cmd->cmd_flags & ICF_SE_LUN_CMD) || !cmd->transport_wait_for_tasks)
- iscsi_release_cmd_to_pool(cmd, sess);
+ if (!(cmd->cmd_flags & ICF_SE_LUN_CMD) ||
+ !(SE_CMD(cmd)->transport_wait_for_tasks))
+ __iscsi_release_cmd_to_pool(cmd, sess);
else
- cmd->transport_wait_for_tasks(cmd, 1, 1);
+ SE_CMD(cmd)->transport_wait_for_tasks(
+ SE_CMD(cmd), 1, 1);
spin_lock_bh(&conn->cmd_lock);

cmd = cmd_next;
@@ -506,10 +514,12 @@ extern int iscsi_prepare_cmds_for_realligance (iscsi_conn_t *conn)
iscsi_remove_cmd_from_conn_list(cmd, conn);

spin_unlock_bh(&conn->cmd_lock);
- if (!(cmd->cmd_flags & ICF_SE_LUN_CMD) || !cmd->transport_wait_for_tasks)
- iscsi_release_cmd_to_pool(cmd, SESS(conn));
+ if (!(cmd->cmd_flags & ICF_SE_LUN_CMD) ||
+ !(SE_CMD(cmd)->transport_wait_for_tasks))
+ __iscsi_release_cmd_to_pool(cmd, SESS(conn));
else
- cmd->transport_wait_for_tasks(cmd, 1, 0);
+ SE_CMD(cmd)->transport_wait_for_tasks(
+ SE_CMD(cmd), 1, 0);
spin_lock_bh(&conn->cmd_lock);

cmd = cmd_next;
@@ -532,10 +542,12 @@ extern int iscsi_prepare_cmds_for_realligance (iscsi_conn_t *conn)
iscsi_remove_cmd_from_conn_list(cmd, conn);

spin_unlock_bh(&conn->cmd_lock);
- if (!(cmd->cmd_flags & ICF_SE_LUN_CMD) || !cmd->transport_wait_for_tasks)
- iscsi_release_cmd_to_pool(cmd, SESS(conn));
+ if (!(cmd->cmd_flags & ICF_SE_LUN_CMD) ||
+ !(SE_CMD(cmd)->transport_wait_for_tasks))
+ __iscsi_release_cmd_to_pool(cmd, SESS(conn));
else
- cmd->transport_wait_for_tasks(cmd, 1, 1);
+ SE_CMD(cmd)->transport_wait_for_tasks(
+ SE_CMD(cmd), 1, 1);
spin_lock_bh(&conn->cmd_lock);

cmd = cmd_next;
@@ -558,8 +570,9 @@ extern int iscsi_prepare_cmds_for_realligance (iscsi_conn_t *conn)
spin_unlock_bh(&conn->cmd_lock);
iscsi_free_all_datain_reqs(cmd);

- if ((cmd->cmd_flags & ICF_SE_LUN_CMD) && cmd->transport_wait_for_tasks)
- cmd->transport_wait_for_tasks(cmd, 0, 0);
+ if ((cmd->cmd_flags & ICF_SE_LUN_CMD) &&
+ SE_CMD(cmd)->transport_wait_for_tasks)
+ SE_CMD(cmd)->transport_wait_for_tasks(SE_CMD(cmd), 0, 0);

spin_lock_bh(&conn->cmd_lock);

--
1.5.4.1

Reply all
Reply to author
Forward
0 new messages