target: remove struct se_task

We can use struct se_cmd for everything it did.  Make sure to pass the S/G
list and data direction to the execution function to ease adding back BIDI
support later on.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h
index 9ea87e6..55a80bd 100644
--- a/include/target/target_core_base.h
+++ b/include/target/target_core_base.h
@@ -477,14 +477,6 @@
 	wait_queue_head_t	thread_wq;
 };
 
-struct se_task {
-	struct se_cmd		*task_se_cmd;
-	struct scatterlist	*task_sg;
-	u32			task_sg_nents;
-	u8			task_scsi_status;
-	enum dma_data_direction	task_data_direction;
-};
-
 struct se_tmr_req {
 	/* Task Management function to be performed */
 	u8			function;
@@ -592,7 +584,8 @@
 	/* old task stop completion, consider merging with some of the above */
 	struct completion	task_stop_comp;
 
-	struct se_task		*t_task;
+	/* backend private data */
+	void			*priv;
 };
 
 struct se_ua {