]> Pileus Git - ~andy/linux/commitdiff
iscsit: use target_execute_cmd for WRITEs
authorChristoph Hellwig <hch@infradead.org>
Sun, 8 Jul 2012 19:58:42 +0000 (15:58 -0400)
committerNicholas Bellinger <nab@linux-iscsi.org>
Tue, 17 Jul 2012 00:35:18 +0000 (17:35 -0700)
All three callers of transport_generic_handle_data are from user context
and can use target_execute_cmd directly to handle the backend I/O submission
of WRITE I/O.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Cc: Andy Grover <agrover@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/iscsi/iscsi_target.c
drivers/target/iscsi/iscsi_target_erl1.c
drivers/target/iscsi/iscsi_target_tmr.c

index d57d10cb2e47525406daae44cb22c5c5a8e87937..0aa04a0b91deb55fa6a92d6c8b1734d7897546f8 100644 (file)
@@ -1413,8 +1413,10 @@ static int iscsit_handle_data_out(struct iscsi_conn *conn, unsigned char *buf)
                spin_unlock_bh(&cmd->istate_lock);
 
                iscsit_stop_dataout_timer(cmd);
-               return (!ooo_cmdsn) ? transport_generic_handle_data(
-                                       &cmd->se_cmd) : 0;
+               if (ooo_cmdsn)
+                       return 0;
+               target_execute_cmd(&cmd->se_cmd);
+               return 0;
        } else /* DATAOUT_CANNOT_RECOVER */
                return -1;
 
index ecdd46deeddaf3d6d9aa9ca3acf5ad45274b2c67..3df8a2cef86faab090bcf24dfbc377cc00b32e04 100644 (file)
@@ -965,8 +965,8 @@ int iscsit_execute_cmd(struct iscsi_cmd *cmd, int ooo)
                if (cmd->immediate_data) {
                        if (cmd->cmd_flags & ICF_GOT_LAST_DATAOUT) {
                                spin_unlock_bh(&cmd->istate_lock);
-                               return transport_generic_handle_data(
-                                               &cmd->se_cmd);
+                               target_execute_cmd(&cmd->se_cmd);
+                               return 0;
                        }
                        spin_unlock_bh(&cmd->istate_lock);
 
index 1f7552986168331a061e16b884ff7effd354bc74..f62fe123d902cd78f0bdbee14337564559ec8ec9 100644 (file)
@@ -257,7 +257,8 @@ static int iscsit_task_reassign_complete_write(
                        pr_debug("WRITE ITT: 0x%08x: t_state: %d"
                                " never sent to transport\n",
                                cmd->init_task_tag, cmd->se_cmd.t_state);
-                       return transport_generic_handle_data(se_cmd);
+                       target_execute_cmd(se_cmd);
+                       return 0;
                }
 
                cmd->i_state = ISTATE_SEND_STATUS;