target: remove transport_generic_handle_data
authorChristoph Hellwig <hch@infradead.org>
Sun, 8 Jul 2012 19:58:46 +0000 (15:58 -0400)
committerNicholas Bellinger <nab@linux-iscsi.org>
Tue, 17 Jul 2012 00:35:20 +0000 (17:35 -0700)
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_transport.c
include/target/target_core_base.h
include/target/target_core_fabric.h

index db139133f7082fcabad2a42667ff7f5de8e1c70f..1f28d1804e15547969ca95071aa97c39088d1688 100644 (file)
@@ -1583,12 +1583,6 @@ void target_submit_cmd(struct se_cmd *se_cmd, struct se_session *se_sess,
         */
        core_alua_check_nonop_delay(se_cmd);
 
-       /*
-        * Dispatch se_cmd descriptor to se_lun->lun_se_dev backend
-        * for immediate execution of READs, otherwise wait for
-        * transport_generic_handle_data() to be called for WRITEs
-        * when fabric has filled the incoming buffer.
-        */
        transport_handle_cdb_direct(se_cmd);
        return;
 }
@@ -1681,36 +1675,6 @@ int transport_generic_handle_cdb_map(
 }
 EXPORT_SYMBOL(transport_generic_handle_cdb_map);
 
-/*     transport_generic_handle_data():
- *
- *
- */
-int transport_generic_handle_data(
-       struct se_cmd *cmd)
-{
-       /*
-        * For the software fabric case, then we assume the nexus is being
-        * failed/shutdown when signals are pending from the kthread context
-        * caller, so we return a failure.  For the HW target mode case running
-        * in interrupt code, the signal_pending() check is skipped.
-        */
-       if (!in_interrupt() && signal_pending(current))
-               return -EPERM;
-       /*
-        * If the received CDB has aleady been ABORTED by the generic
-        * target engine, we now call transport_check_aborted_status()
-        * to queue any delated TASK_ABORTED status for the received CDB to the
-        * fabric module as we are expecting no further incoming DATA OUT
-        * sequences at this point.
-        */
-       if (transport_check_aborted_status(cmd, 1) != 0)
-               return 0;
-
-       transport_add_cmd_to_queue(cmd, TRANSPORT_PROCESS_WRITE, false);
-       return 0;
-}
-EXPORT_SYMBOL(transport_generic_handle_data);
-
 /*     transport_generic_handle_tmr():
  *
  *
@@ -3295,9 +3259,6 @@ get_cmd:
                                break;
                        }
                        break;
-               case TRANSPORT_PROCESS_WRITE:
-                       target_execute_cmd(cmd);
-                       break;
                case TRANSPORT_PROCESS_TMR:
                        transport_generic_do_tmr(cmd);
                        break;
index 1ae97fe93d2f44d3040b5eed4ad82a8290a2442e..72a41dda949659571afadd92f6c3bb0621485035 100644 (file)
@@ -145,7 +145,6 @@ enum transport_state_table {
        TRANSPORT_NO_STATE      = 0,
        TRANSPORT_NEW_CMD       = 1,
        TRANSPORT_WRITE_PENDING = 3,
-       TRANSPORT_PROCESS_WRITE = 4,
        TRANSPORT_PROCESSING    = 5,
        TRANSPORT_COMPLETE      = 6,
        TRANSPORT_PROCESS_TMR   = 9,
index 59b4afb83ae1763f520557c7c8c06fd6e96ed82b..69321bc87c43095a5c63b0e42eee4bf4c07cdf75 100644 (file)
@@ -116,7 +116,6 @@ int target_submit_tmr(struct se_cmd *se_cmd, struct se_session *se_sess,
                gfp_t, unsigned int, int);
 int    transport_handle_cdb_direct(struct se_cmd *);
 int    transport_generic_handle_cdb_map(struct se_cmd *);
-int    transport_generic_handle_data(struct se_cmd *);
 int    transport_generic_map_mem_to_cmd(struct se_cmd *cmd,
                struct scatterlist *, u32, struct scatterlist *, u32);
 int    transport_generic_new_cmd(struct se_cmd *);