aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/target/target_core_internal.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-05-21 20:37:09 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-05-21 20:37:09 -0400
commitc9bfa7d75ba7269c97595f03c3152372e8b37823 (patch)
tree18ff08a09721a21fda585c716574344220a50518 /drivers/target/target_core_internal.h
parentf4c16c581766a230c02bec4d513b09fe36264ae2 (diff)
parentf80e8ed3951455272c12693e35b259be8eb60b30 (diff)
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending
Pull scsi-target changes from Nicholas Bellinger: "There has been lots of work in existing code in a number of areas this past cycle. The major highlights have been: * Removal of transport_do_task_sg_chain() from core + fabrics (Roland) * target-core: Removal of se_task abstraction from target-core and enforce hw_max_sectors for pSCSI backends (hch) * Re-factoring of iscsi-target tx immediate/response queues (agrover) * Conversion of iscsi-target back to using target core memory allocation logic (agrover) We've had one last minute iscsi-target patch go into for-next to address a nasty regression bug related to the target core allocation logic conversion from agrover that is not included in friday's linux-next build, but has been included in this series. On the new fabric module code front for-3.5, here is a brief status update for the three currently in flight this round: * usb-gadget target driver: Sebastian Siewior's driver for supporting usb-gadget target mode operation. This will be going out as a separate PULL request from target-pending/usb-target-merge with subsystem maintainer ACKs. There is one minor target-core patch in this series required to function. * sbp ieee-1394/firewire target driver: Chris Boot's driver for supportting the Serial Block Protocol (SBP) across IEEE-1394 Firewire hardware. This will be going out as a separate PULL request from target-pending/sbp-target-merge with two additional drivers/firewire/ patches w/ subsystem maintainer ACKs. * qla2xxx LLD target mode infrastructure changes + tcm_qla2xxx: The Qlogic >= 24xx series HW target mode LLD infrastructure patch-set and tcm_qla2xxx fabric driver. Support for FC target mode using qla2xxx LLD code has been officially submitted by Qlogic to James below, and is currently outstanding but not yet merged into scsi.git/for-next.. [PATCH 00/22] qla2xxx: Updates for scsi "misc" branch http://www.spinics.net/lists/linux-scsi/msg59350.html Note there are *zero* direct dependencies upon this for-next series for the qla2xxx LLD target + tcm_qla2xxx patches submitted above, and over the last days the target mode team has been tracking down an tcm_qla2xxx specific active I/O shutdown bug that appears to now be almost squashed for 3.5-rc-fixes." * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (47 commits) iscsi-target: Fix iov_count calculation bug in iscsit_allocate_iovecs iscsi-target: remove dead code in iscsi_check_valuelist_for_support target: Handle ATA_16 passthrough for pSCSI backend devices target: Add MI_REPORT_TARGET_PGS ext. header + implict_trans_secs attribute target: Fix MAINTENANCE_IN service action CDB checks to use lower 5 bits target: add support for the WRITE_VERIFY command target: make target_put_session void target: cleanup transport_execute_tasks() target: Remove max_sectors device attribute for modern se_task less code target: lock => unlock typo in transport_lun_wait_for_tasks target: Enforce hw_max_sectors for SCF_SCSI_DATA_SG_IO_CDB target: remove the t_se_count field in struct se_cmd target: remove the t_task_cdbs_ex_left field in struct se_cmd target: remove the t_task_cdbs_left field in struct se_cmd target: remove struct se_task target: move the state and execute lists to the command target: simplify command to task linkage target: always allocate a single task target: replace ->execute_task with ->execute_cmd target: remove the task_sectors field in struct se_task ...
Diffstat (limited to 'drivers/target/target_core_internal.h')
-rw-r--r--drivers/target/target_core_internal.h25
1 files changed, 12 insertions, 13 deletions
diff --git a/drivers/target/target_core_internal.h b/drivers/target/target_core_internal.h
index 21c05638f158..165e82429687 100644
--- a/drivers/target/target_core_internal.h
+++ b/drivers/target/target_core_internal.h
@@ -5,15 +5,15 @@
5extern struct t10_alua_lu_gp *default_lu_gp; 5extern struct t10_alua_lu_gp *default_lu_gp;
6 6
7/* target_core_cdb.c */ 7/* target_core_cdb.c */
8int target_emulate_inquiry(struct se_task *task); 8int target_emulate_inquiry(struct se_cmd *cmd);
9int target_emulate_readcapacity(struct se_task *task); 9int target_emulate_readcapacity(struct se_cmd *cmd);
10int target_emulate_readcapacity_16(struct se_task *task); 10int target_emulate_readcapacity_16(struct se_cmd *cmd);
11int target_emulate_modesense(struct se_task *task); 11int target_emulate_modesense(struct se_cmd *cmd);
12int target_emulate_request_sense(struct se_task *task); 12int target_emulate_request_sense(struct se_cmd *cmd);
13int target_emulate_unmap(struct se_task *task); 13int target_emulate_unmap(struct se_cmd *cmd);
14int target_emulate_write_same(struct se_task *task); 14int target_emulate_write_same(struct se_cmd *cmd);
15int target_emulate_synchronize_cache(struct se_task *task); 15int target_emulate_synchronize_cache(struct se_cmd *cmd);
16int target_emulate_noop(struct se_task *task); 16int target_emulate_noop(struct se_cmd *cmd);
17 17
18/* target_core_device.c */ 18/* target_core_device.c */
19struct se_dev_entry *core_get_se_deve_from_rtpi(struct se_node_acl *, u16); 19struct se_dev_entry *core_get_se_deve_from_rtpi(struct se_node_acl *, u16);
@@ -28,7 +28,7 @@ int core_dev_export(struct se_device *, struct se_portal_group *,
28 struct se_lun *); 28 struct se_lun *);
29void core_dev_unexport(struct se_device *, struct se_portal_group *, 29void core_dev_unexport(struct se_device *, struct se_portal_group *,
30 struct se_lun *); 30 struct se_lun *);
31int target_report_luns(struct se_task *); 31int target_report_luns(struct se_cmd *);
32void se_release_device_for_hba(struct se_device *); 32void se_release_device_for_hba(struct se_device *);
33void se_release_vpd_for_dev(struct se_device *); 33void se_release_vpd_for_dev(struct se_device *);
34int se_free_virtual_device(struct se_device *, struct se_hba *); 34int se_free_virtual_device(struct se_device *, struct se_hba *);
@@ -104,8 +104,7 @@ void release_se_kmem_caches(void);
104u32 scsi_get_new_index(scsi_index_t); 104u32 scsi_get_new_index(scsi_index_t);
105void transport_subsystem_check_init(void); 105void transport_subsystem_check_init(void);
106void transport_cmd_finish_abort(struct se_cmd *, int); 106void transport_cmd_finish_abort(struct se_cmd *, int);
107void __transport_remove_task_from_execute_queue(struct se_task *, 107void __target_remove_from_execute_list(struct se_cmd *);
108 struct se_device *);
109unsigned char *transport_dump_cmd_direction(struct se_cmd *); 108unsigned char *transport_dump_cmd_direction(struct se_cmd *);
110void transport_dump_dev_state(struct se_device *, char *, int *); 109void transport_dump_dev_state(struct se_device *, char *, int *);
111void transport_dump_dev_info(struct se_device *, struct se_lun *, 110void transport_dump_dev_info(struct se_device *, struct se_lun *,
@@ -114,7 +113,7 @@ void transport_dump_vpd_proto_id(struct t10_vpd *, unsigned char *, int);
114int transport_dump_vpd_assoc(struct t10_vpd *, unsigned char *, int); 113int transport_dump_vpd_assoc(struct t10_vpd *, unsigned char *, int);
115int transport_dump_vpd_ident_type(struct t10_vpd *, unsigned char *, int); 114int transport_dump_vpd_ident_type(struct t10_vpd *, unsigned char *, int);
116int transport_dump_vpd_ident(struct t10_vpd *, unsigned char *, int); 115int transport_dump_vpd_ident(struct t10_vpd *, unsigned char *, int);
117bool target_stop_task(struct se_task *task, unsigned long *flags); 116bool target_stop_cmd(struct se_cmd *cmd, unsigned long *flags);
118int transport_clear_lun_from_sessions(struct se_lun *); 117int transport_clear_lun_from_sessions(struct se_lun *);
119void transport_send_task_abort(struct se_cmd *); 118void transport_send_task_abort(struct se_cmd *);
120 119