aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/target/target_core_cdb.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2011-11-03 17:50:45 -0400
committerNicholas Bellinger <nab@linux-iscsi.org>2011-11-04 10:44:35 +0000
commit5bda90c8f20f0af93375721533f4081a40fa6f41 (patch)
tree0ac0395e80359e8b4b8fc4220effc7a6225d259b /drivers/target/target_core_cdb.h
parenttarget: remove SCF_EMULATE_CDB_ASYNC (diff)
downloadlinux-dev-5bda90c8f20f0af93375721533f4081a40fa6f41.tar.xz
linux-dev-5bda90c8f20f0af93375721533f4081a40fa6f41.zip
target: use ->exectute_task for all CDB emulation
Instead of calling into transport_emulate_control_cdb from __transport_execute_tasks for some CDBs always set up ->exectute_tasks in the command sequence and use it uniformly. (nab: Add default passthrough break for SERVICE_ACTION_IN) Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers/target/target_core_cdb.h')
-rw-r--r--drivers/target/target_core_cdb.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/target/target_core_cdb.h b/drivers/target/target_core_cdb.h
new file mode 100644
index 000000000000..ad6b1e393001
--- /dev/null
+++ b/drivers/target/target_core_cdb.h
@@ -0,0 +1,14 @@
+#ifndef TARGET_CORE_CDB_H
+#define TARGET_CORE_CDB_H
+
+int target_emulate_inquiry(struct se_task *task);
+int target_emulate_readcapacity(struct se_task *task);
+int target_emulate_readcapacity_16(struct se_task *task);
+int target_emulate_modesense(struct se_task *task);
+int target_emulate_request_sense(struct se_task *task);
+int target_emulate_unmap(struct se_task *task);
+int target_emulate_write_same(struct se_task *task);
+int target_emulate_synchronize_cache(struct se_task *task);
+int target_emulate_noop(struct se_task *task);
+
+#endif /* TARGET_CORE_CDB_H */