Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

target: reshuffle headers

Create a new headers, drivers/target/target_core_internal.h that is supposed
to hold all target_core-internal prototypes. Move all non-exported includes
from include/target to it, and merge the smaller prototype-only includes
inside drivers/target into it as well. Mark functions that were found to
not be called outside their implementation file static.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>

authored by

Christoph Hellwig and committed by
Nicholas Bellinger
e26d99ae dc47ce90

+170 -186
+1 -1
drivers/target/target_core_alua.c
··· 37 37 #include <target/target_core_fabric_ops.h> 38 38 #include <target/target_core_configfs.h> 39 39 40 + #include "target_core_internal.h" 40 41 #include "target_core_alua.h" 41 - #include "target_core_hba.h" 42 42 #include "target_core_ua.h" 43 43 44 44 static int core_alua_check_transition(int state, int *primary);
+2 -1
drivers/target/target_core_cdb.c
··· 31 31 #include <target/target_core_base.h> 32 32 #include <target/target_core_transport.h> 33 33 #include <target/target_core_fabric_ops.h> 34 + 35 + #include "target_core_internal.h" 34 36 #include "target_core_ua.h" 35 - #include "target_core_cdb.h" 36 37 37 38 static void 38 39 target_fill_alua_data(struct se_port *port, unsigned char *buf)
-14
drivers/target/target_core_cdb.h
··· 1 - #ifndef TARGET_CORE_CDB_H 2 - #define TARGET_CORE_CDB_H 3 - 4 - int target_emulate_inquiry(struct se_task *task); 5 - int target_emulate_readcapacity(struct se_task *task); 6 - int target_emulate_readcapacity_16(struct se_task *task); 7 - int target_emulate_modesense(struct se_task *task); 8 - int target_emulate_request_sense(struct se_task *task); 9 - int target_emulate_unmap(struct se_task *task); 10 - int target_emulate_write_same(struct se_task *task); 11 - int target_emulate_synchronize_cache(struct se_task *task); 12 - int target_emulate_noop(struct se_task *task); 13 - 14 - #endif /* TARGET_CORE_CDB_H */
+1 -2
drivers/target/target_core_configfs.c
··· 46 46 #include <target/target_core_configfs.h> 47 47 #include <target/configfs_macros.h> 48 48 49 + #include "target_core_internal.h" 49 50 #include "target_core_alua.h" 50 - #include "target_core_hba.h" 51 51 #include "target_core_pr.h" 52 52 #include "target_core_rd.h" 53 - #include "target_core_stat.h" 54 53 55 54 extern struct t10_alua_lu_gp *default_lu_gp; 56 55
+1 -1
drivers/target/target_core_device.c
··· 47 47 #include <target/target_core_transport.h> 48 48 #include <target/target_core_fabric_ops.h> 49 49 50 + #include "target_core_internal.h" 50 51 #include "target_core_alua.h" 51 - #include "target_core_hba.h" 52 52 #include "target_core_pr.h" 53 53 #include "target_core_ua.h" 54 54
+1 -2
drivers/target/target_core_fabric_configfs.c
··· 44 44 #include <target/target_core_configfs.h> 45 45 #include <target/configfs_macros.h> 46 46 47 + #include "target_core_internal.h" 47 48 #include "target_core_alua.h" 48 - #include "target_core_hba.h" 49 49 #include "target_core_pr.h" 50 - #include "target_core_stat.h" 51 50 52 51 #define TF_CIT_SETUP(_name, _item_ops, _group_ops, _attrs) \ 53 52 static void target_fabric_setup_##_name##_cit(struct target_fabric_configfs *tf) \
+1 -1
drivers/target/target_core_fabric_lib.c
··· 40 40 #include <target/target_core_fabric_ops.h> 41 41 #include <target/target_core_configfs.h> 42 42 43 - #include "target_core_hba.h" 43 + #include "target_core_internal.h" 44 44 #include "target_core_pr.h" 45 45 46 46 /*
+1 -1
drivers/target/target_core_hba.c
··· 41 41 #include <target/target_core_tpg.h> 42 42 #include <target/target_core_transport.h> 43 43 44 - #include "target_core_hba.h" 44 + #include "target_core_internal.h" 45 45 46 46 static LIST_HEAD(subsystem_list); 47 47 static DEFINE_MUTEX(subsystem_mutex);
-7
drivers/target/target_core_hba.h
··· 1 - #ifndef TARGET_CORE_HBA_H 2 - #define TARGET_CORE_HBA_H 3 - 4 - extern struct se_hba *core_alloc_hba(const char *, u32, u32); 5 - extern int core_delete_hba(struct se_hba *); 6 - 7 - #endif /* TARGET_CORE_HBA_H */
+123
drivers/target/target_core_internal.h
··· 1 + #ifndef TARGET_CORE_INTERNAL_H 2 + #define TARGET_CORE_INTERNAL_H 3 + 4 + /* target_core_alua.c */ 5 + extern struct t10_alua_lu_gp *default_lu_gp; 6 + 7 + /* target_core_cdb.c */ 8 + int target_emulate_inquiry(struct se_task *task); 9 + int target_emulate_readcapacity(struct se_task *task); 10 + int target_emulate_readcapacity_16(struct se_task *task); 11 + int target_emulate_modesense(struct se_task *task); 12 + int target_emulate_request_sense(struct se_task *task); 13 + int target_emulate_unmap(struct se_task *task); 14 + int target_emulate_write_same(struct se_task *task); 15 + int target_emulate_synchronize_cache(struct se_task *task); 16 + int target_emulate_noop(struct se_task *task); 17 + 18 + /* target_core_device.c */ 19 + struct se_dev_entry *core_get_se_deve_from_rtpi(struct se_node_acl *, u16); 20 + int core_free_device_list_for_node(struct se_node_acl *, 21 + struct se_portal_group *); 22 + void core_dec_lacl_count(struct se_node_acl *, struct se_cmd *); 23 + void core_update_device_list_access(u32, u32, struct se_node_acl *); 24 + int core_update_device_list_for_node(struct se_lun *, struct se_lun_acl *, 25 + u32, u32, struct se_node_acl *, struct se_portal_group *, int); 26 + void core_clear_lun_from_tpg(struct se_lun *, struct se_portal_group *); 27 + int core_dev_export(struct se_device *, struct se_portal_group *, 28 + struct se_lun *); 29 + void core_dev_unexport(struct se_device *, struct se_portal_group *, 30 + struct se_lun *); 31 + int target_report_luns(struct se_task *); 32 + void se_release_device_for_hba(struct se_device *); 33 + void se_release_vpd_for_dev(struct se_device *); 34 + int se_free_virtual_device(struct se_device *, struct se_hba *); 35 + int se_dev_check_online(struct se_device *); 36 + int se_dev_check_shutdown(struct se_device *); 37 + void se_dev_set_default_attribs(struct se_device *, struct se_dev_limits *); 38 + int se_dev_set_task_timeout(struct se_device *, u32); 39 + int se_dev_set_max_unmap_lba_count(struct se_device *, u32); 40 + int se_dev_set_max_unmap_block_desc_count(struct se_device *, u32); 41 + int se_dev_set_unmap_granularity(struct se_device *, u32); 42 + int se_dev_set_unmap_granularity_alignment(struct se_device *, u32); 43 + int se_dev_set_emulate_dpo(struct se_device *, int); 44 + int se_dev_set_emulate_fua_write(struct se_device *, int); 45 + int se_dev_set_emulate_fua_read(struct se_device *, int); 46 + int se_dev_set_emulate_write_cache(struct se_device *, int); 47 + int se_dev_set_emulate_ua_intlck_ctrl(struct se_device *, int); 48 + int se_dev_set_emulate_tas(struct se_device *, int); 49 + int se_dev_set_emulate_tpu(struct se_device *, int); 50 + int se_dev_set_emulate_tpws(struct se_device *, int); 51 + int se_dev_set_enforce_pr_isids(struct se_device *, int); 52 + int se_dev_set_is_nonrot(struct se_device *, int); 53 + int se_dev_set_emulate_rest_reord(struct se_device *dev, int); 54 + int se_dev_set_queue_depth(struct se_device *, u32); 55 + int se_dev_set_max_sectors(struct se_device *, u32); 56 + int se_dev_set_optimal_sectors(struct se_device *, u32); 57 + int se_dev_set_block_size(struct se_device *, u32); 58 + struct se_lun *core_dev_add_lun(struct se_portal_group *, struct se_hba *, 59 + struct se_device *, u32); 60 + int core_dev_del_lun(struct se_portal_group *, u32); 61 + struct se_lun *core_get_lun_from_tpg(struct se_portal_group *, u32); 62 + struct se_lun_acl *core_dev_init_initiator_node_lun_acl(struct se_portal_group *, 63 + u32, char *, int *); 64 + int core_dev_add_initiator_node_lun_acl(struct se_portal_group *, 65 + struct se_lun_acl *, u32, u32); 66 + int core_dev_del_initiator_node_lun_acl(struct se_portal_group *, 67 + struct se_lun *, struct se_lun_acl *); 68 + void core_dev_free_initiator_node_lun_acl(struct se_portal_group *, 69 + struct se_lun_acl *lacl); 70 + int core_dev_setup_virtual_lun0(void); 71 + void core_dev_release_virtual_lun0(void); 72 + 73 + /* target_core_hba.c */ 74 + struct se_hba *core_alloc_hba(const char *, u32, u32); 75 + int core_delete_hba(struct se_hba *); 76 + 77 + /* target_core_tmr.c */ 78 + int core_tmr_lun_reset(struct se_device *, struct se_tmr_req *, 79 + struct list_head *, struct se_cmd *); 80 + 81 + /* target_core_tpg.c */ 82 + extern struct se_device *g_lun0_dev; 83 + 84 + struct se_node_acl *__core_tpg_get_initiator_node_acl(struct se_portal_group *tpg, 85 + const char *); 86 + struct se_node_acl *core_tpg_get_initiator_node_acl(struct se_portal_group *tpg, 87 + unsigned char *); 88 + void core_tpg_add_node_to_devs(struct se_node_acl *, struct se_portal_group *); 89 + void core_tpg_wait_for_nacl_pr_ref(struct se_node_acl *); 90 + struct se_lun *core_tpg_pre_addlun(struct se_portal_group *, u32); 91 + int core_tpg_post_addlun(struct se_portal_group *, struct se_lun *, 92 + u32, void *); 93 + struct se_lun *core_tpg_pre_dellun(struct se_portal_group *, u32, int *); 94 + int core_tpg_post_dellun(struct se_portal_group *, struct se_lun *); 95 + 96 + /* target_core_transport.c */ 97 + extern struct kmem_cache *se_tmr_req_cache; 98 + 99 + int init_se_kmem_caches(void); 100 + void release_se_kmem_caches(void); 101 + u32 scsi_get_new_index(scsi_index_t); 102 + void transport_subsystem_check_init(void); 103 + void transport_cmd_finish_abort(struct se_cmd *, int); 104 + void __transport_remove_task_from_execute_queue(struct se_task *, 105 + struct se_device *); 106 + unsigned char *transport_dump_cmd_direction(struct se_cmd *); 107 + void transport_dump_dev_state(struct se_device *, char *, int *); 108 + void transport_dump_dev_info(struct se_device *, struct se_lun *, 109 + unsigned long long, char *, int *); 110 + void transport_dump_vpd_proto_id(struct t10_vpd *, unsigned char *, int); 111 + int transport_dump_vpd_assoc(struct t10_vpd *, unsigned char *, int); 112 + int transport_dump_vpd_ident_type(struct t10_vpd *, unsigned char *, int); 113 + int transport_dump_vpd_ident(struct t10_vpd *, unsigned char *, int); 114 + bool target_stop_task(struct se_task *task, unsigned long *flags); 115 + int transport_clear_lun_from_sessions(struct se_lun *); 116 + void transport_send_task_abort(struct se_cmd *); 117 + 118 + /* target_core_stat.c */ 119 + void target_stat_setup_dev_default_groups(struct se_subsystem_dev *); 120 + void target_stat_setup_port_default_groups(struct se_lun *); 121 + void target_stat_setup_mappedlun_default_groups(struct se_lun_acl *); 122 + 123 + #endif /* TARGET_CORE_INTERNAL_H */
+1 -1
drivers/target/target_core_pr.c
··· 40 40 #include <target/target_core_fabric_ops.h> 41 41 #include <target/target_core_configfs.h> 42 42 43 - #include "target_core_hba.h" 43 + #include "target_core_internal.h" 44 44 #include "target_core_pr.h" 45 45 #include "target_core_ua.h" 46 46
+1 -1
drivers/target/target_core_stat.c
··· 48 48 #include <target/target_core_configfs.h> 49 49 #include <target/configfs_macros.h> 50 50 51 - #include "target_core_hba.h" 51 + #include "target_core_internal.h" 52 52 53 53 #ifndef INITIAL_JIFFIES 54 54 #define INITIAL_JIFFIES ((unsigned long)(unsigned int) (-300*HZ))
-8
drivers/target/target_core_stat.h
··· 1 - #ifndef TARGET_CORE_STAT_H 2 - #define TARGET_CORE_STAT_H 3 - 4 - extern void target_stat_setup_dev_default_groups(struct se_subsystem_dev *); 5 - extern void target_stat_setup_port_default_groups(struct se_lun *); 6 - extern void target_stat_setup_mappedlun_default_groups(struct se_lun_acl *); 7 - 8 - #endif /*** TARGET_CORE_STAT_H ***/
+1
drivers/target/target_core_tmr.c
··· 38 38 #include <target/target_core_fabric_ops.h> 39 39 #include <target/target_core_configfs.h> 40 40 41 + #include "target_core_internal.h" 41 42 #include "target_core_alua.h" 42 43 #include "target_core_pr.h" 43 44
+1 -2
drivers/target/target_core_tpg.c
··· 44 44 #include <target/target_core_transport.h> 45 45 #include <target/target_core_fabric_ops.h> 46 46 47 - #include "target_core_hba.h" 48 - #include "target_core_stat.h" 47 + #include "target_core_internal.h" 49 48 50 49 extern struct se_device *g_lun0_dev; 51 50
+30 -37
drivers/target/target_core_transport.c
··· 52 52 #include <target/target_core_fabric_ops.h> 53 53 #include <target/target_core_configfs.h> 54 54 55 + #include "target_core_internal.h" 55 56 #include "target_core_alua.h" 56 - #include "target_core_cdb.h" 57 - #include "target_core_hba.h" 58 57 #include "target_core_pr.h" 59 58 #include "target_core_ua.h" 60 59 ··· 211 212 return new_index; 212 213 } 213 214 214 - void transport_init_queue_obj(struct se_queue_obj *qobj) 215 + static void transport_init_queue_obj(struct se_queue_obj *qobj) 215 216 { 216 217 atomic_set(&qobj->queue_cnt, 0); 217 218 INIT_LIST_HEAD(&qobj->qobj_list); 218 219 init_waitqueue_head(&qobj->thread_wq); 219 220 spin_lock_init(&qobj->cmd_queue_lock); 220 221 } 221 - EXPORT_SYMBOL(transport_init_queue_obj); 222 222 223 223 void transport_subsystem_check_init(void) 224 224 { ··· 894 896 atomic_dec(&dev->execute_tasks); 895 897 } 896 898 897 - void transport_remove_task_from_execute_queue( 899 + static void transport_remove_task_from_execute_queue( 898 900 struct se_task *task, 899 901 struct se_device *dev) 900 902 { ··· 3344 3346 } 3345 3347 3346 3348 /** 3349 + * transport_release_cmd - free a command 3350 + * @cmd: command to free 3351 + * 3352 + * This routine unconditionally frees a command, and reference counting 3353 + * or list removal must be done in the caller. 3354 + */ 3355 + static void transport_release_cmd(struct se_cmd *cmd) 3356 + { 3357 + BUG_ON(!cmd->se_tfo); 3358 + 3359 + if (cmd->se_tmr_req) 3360 + core_tmr_release_req(cmd->se_tmr_req); 3361 + if (cmd->t_task_cdb != cmd->__t_task_cdb) 3362 + kfree(cmd->t_task_cdb); 3363 + /* 3364 + * Check if target_wait_for_sess_cmds() is expecting to 3365 + * release se_cmd directly here.. 3366 + */ 3367 + if (cmd->check_release != 0 && cmd->se_tfo->check_release_cmd) 3368 + if (cmd->se_tfo->check_release_cmd(cmd) != 0) 3369 + return; 3370 + 3371 + cmd->se_tfo->release_cmd(cmd); 3372 + } 3373 + 3374 + /** 3347 3375 * transport_put_cmd - release a reference to a command 3348 3376 * @cmd: command to release 3349 3377 * ··· 3893 3869 transport_handle_queue_full(cmd, cmd->se_dev); 3894 3870 return 0; 3895 3871 } 3896 - 3897 - /** 3898 - * transport_release_cmd - free a command 3899 - * @cmd: command to free 3900 - * 3901 - * This routine unconditionally frees a command, and reference counting 3902 - * or list removal must be done in the caller. 3903 - */ 3904 - void transport_release_cmd(struct se_cmd *cmd) 3905 - { 3906 - BUG_ON(!cmd->se_tfo); 3907 - 3908 - if (cmd->se_tmr_req) 3909 - core_tmr_release_req(cmd->se_tmr_req); 3910 - if (cmd->t_task_cdb != cmd->__t_task_cdb) 3911 - kfree(cmd->t_task_cdb); 3912 - /* 3913 - * Check if target_wait_for_sess_cmds() is expecting to 3914 - * release se_cmd directly here.. 3915 - */ 3916 - if (cmd->check_release != 0 && cmd->se_tfo->check_release_cmd) 3917 - if (cmd->se_tfo->check_release_cmd(cmd) != 0) 3918 - return; 3919 - 3920 - cmd->se_tfo->release_cmd(cmd); 3921 - } 3922 - EXPORT_SYMBOL(transport_release_cmd); 3923 3872 3924 3873 void transport_generic_free_cmd(struct se_cmd *cmd, int wait_for_tasks) 3925 3874 { ··· 4542 4545 cmd->se_tfo->queue_status(cmd); 4543 4546 } 4544 4547 4545 - /* transport_generic_do_tmr(): 4546 - * 4547 - * 4548 - */ 4549 - int transport_generic_do_tmr(struct se_cmd *cmd) 4548 + static int transport_generic_do_tmr(struct se_cmd *cmd) 4550 4549 { 4551 4550 struct se_device *dev = cmd->se_dev; 4552 4551 struct se_tmr_req *tmr = cmd->se_tmr_req;
+1 -1
drivers/target/target_core_ua.c
··· 35 35 #include <target/target_core_fabric_ops.h> 36 36 #include <target/target_core_configfs.h> 37 37 38 + #include "target_core_internal.h" 38 39 #include "target_core_alua.h" 39 - #include "target_core_hba.h" 40 40 #include "target_core_pr.h" 41 41 #include "target_core_ua.h" 42 42
+2 -56
include/target/target_core_device.h
··· 1 1 #ifndef TARGET_CORE_DEVICE_H 2 2 #define TARGET_CORE_DEVICE_H 3 3 4 + 5 + // external 4 6 extern int transport_lookup_cmd_lun(struct se_cmd *, u32); 5 7 extern int transport_lookup_tmr_lun(struct se_cmd *, u32); 6 - extern struct se_dev_entry *core_get_se_deve_from_rtpi( 7 - struct se_node_acl *, u16); 8 - extern int core_free_device_list_for_node(struct se_node_acl *, 9 - struct se_portal_group *); 10 - extern void core_dec_lacl_count(struct se_node_acl *, struct se_cmd *); 11 - extern void core_update_device_list_access(u32, u32, struct se_node_acl *); 12 - extern int core_update_device_list_for_node(struct se_lun *, struct se_lun_acl *, u32, 13 - u32, struct se_node_acl *, 14 - struct se_portal_group *, int); 15 - extern void core_clear_lun_from_tpg(struct se_lun *, struct se_portal_group *); 16 - extern int core_dev_export(struct se_device *, struct se_portal_group *, 17 - struct se_lun *); 18 - extern void core_dev_unexport(struct se_device *, struct se_portal_group *, 19 - struct se_lun *); 20 - extern int target_report_luns(struct se_task *); 21 - extern void se_release_device_for_hba(struct se_device *); 22 - extern void se_release_vpd_for_dev(struct se_device *); 23 - extern void se_clear_dev_ports(struct se_device *); 24 - extern int se_free_virtual_device(struct se_device *, struct se_hba *); 25 - extern int se_dev_check_online(struct se_device *); 26 - extern int se_dev_check_shutdown(struct se_device *); 27 - extern void se_dev_set_default_attribs(struct se_device *, struct se_dev_limits *); 28 - extern int se_dev_set_task_timeout(struct se_device *, u32); 29 - extern int se_dev_set_max_unmap_lba_count(struct se_device *, u32); 30 - extern int se_dev_set_max_unmap_block_desc_count(struct se_device *, u32); 31 - extern int se_dev_set_unmap_granularity(struct se_device *, u32); 32 - extern int se_dev_set_unmap_granularity_alignment(struct se_device *, u32); 33 - extern int se_dev_set_emulate_dpo(struct se_device *, int); 34 - extern int se_dev_set_emulate_fua_write(struct se_device *, int); 35 - extern int se_dev_set_emulate_fua_read(struct se_device *, int); 36 - extern int se_dev_set_emulate_write_cache(struct se_device *, int); 37 - extern int se_dev_set_emulate_ua_intlck_ctrl(struct se_device *, int); 38 - extern int se_dev_set_emulate_tas(struct se_device *, int); 39 - extern int se_dev_set_emulate_tpu(struct se_device *, int); 40 - extern int se_dev_set_emulate_tpws(struct se_device *, int); 41 - extern int se_dev_set_enforce_pr_isids(struct se_device *, int); 42 - extern int se_dev_set_is_nonrot(struct se_device *, int); 43 - extern int se_dev_set_emulate_rest_reord(struct se_device *dev, int); 44 - extern int se_dev_set_queue_depth(struct se_device *, u32); 45 - extern int se_dev_set_max_sectors(struct se_device *, u32); 46 - extern int se_dev_set_optimal_sectors(struct se_device *, u32); 47 - extern int se_dev_set_block_size(struct se_device *, u32); 48 - extern struct se_lun *core_dev_add_lun(struct se_portal_group *, struct se_hba *, 49 - struct se_device *, u32); 50 - extern int core_dev_del_lun(struct se_portal_group *, u32); 51 - extern struct se_lun *core_get_lun_from_tpg(struct se_portal_group *, u32); 52 - extern struct se_lun_acl *core_dev_init_initiator_node_lun_acl(struct se_portal_group *, 53 - u32, char *, int *); 54 - extern int core_dev_add_initiator_node_lun_acl(struct se_portal_group *, 55 - struct se_lun_acl *, u32, u32); 56 - extern int core_dev_del_initiator_node_lun_acl(struct se_portal_group *, 57 - struct se_lun *, struct se_lun_acl *); 58 - extern void core_dev_free_initiator_node_lun_acl(struct se_portal_group *, 59 - struct se_lun_acl *lacl); 60 - extern int core_dev_setup_virtual_lun0(void); 61 - extern void core_dev_release_virtual_lun0(void); 62 8 63 9 #endif /* TARGET_CORE_DEVICE_H */
-4
include/target/target_core_tmr.h
··· 25 25 TMR_FUNCTION_REJECTED = 255, 26 26 }; 27 27 28 - extern struct kmem_cache *se_tmr_req_cache; 29 - 30 28 extern struct se_tmr_req *core_tmr_alloc_req(struct se_cmd *, void *, u8, gfp_t); 31 29 extern void core_tmr_release_req(struct se_tmr_req *); 32 - extern int core_tmr_lun_reset(struct se_device *, struct se_tmr_req *, 33 - struct list_head *, struct se_cmd *); 34 30 35 31 #endif /* TARGET_CORE_TMR_H */
-13
include/target/target_core_tpg.h
··· 1 1 #ifndef TARGET_CORE_TPG_H 2 2 #define TARGET_CORE_TPG_H 3 3 4 - extern struct se_node_acl *__core_tpg_get_initiator_node_acl(struct se_portal_group *tpg, 5 - const char *); 6 - extern struct se_node_acl *core_tpg_get_initiator_node_acl(struct se_portal_group *tpg, 7 - unsigned char *); 8 - extern void core_tpg_add_node_to_devs(struct se_node_acl *, 9 - struct se_portal_group *); 10 4 extern struct se_node_acl *core_tpg_check_initiator_node_acl( 11 5 struct se_portal_group *, 12 6 unsigned char *); 13 - extern void core_tpg_wait_for_nacl_pr_ref(struct se_node_acl *); 14 - extern void core_tpg_wait_for_mib_ref(struct se_node_acl *); 15 7 extern void core_tpg_clear_object_luns(struct se_portal_group *); 16 8 extern struct se_node_acl *core_tpg_add_initiator_node_acl( 17 9 struct se_portal_group *, ··· 18 26 struct se_portal_group *, void *, 19 27 int); 20 28 extern int core_tpg_deregister(struct se_portal_group *); 21 - extern struct se_lun *core_tpg_pre_addlun(struct se_portal_group *, u32); 22 - extern int core_tpg_post_addlun(struct se_portal_group *, struct se_lun *, u32, 23 - void *); 24 - extern struct se_lun *core_tpg_pre_dellun(struct se_portal_group *, u32, int *); 25 - extern int core_tpg_post_dellun(struct se_portal_group *, struct se_lun *); 26 29 27 30 #endif /* TARGET_CORE_TPG_H */
+2 -33
include/target/target_core_transport.h
··· 76 76 77 77 struct se_subsystem_api; 78 78 79 - extern int init_se_kmem_caches(void); 80 - extern void release_se_kmem_caches(void); 81 - extern u32 scsi_get_new_index(scsi_index_t); 82 - extern void transport_init_queue_obj(struct se_queue_obj *); 83 - extern void transport_subsystem_check_init(void); 84 79 extern int transport_subsystem_register(struct se_subsystem_api *); 85 80 extern void transport_subsystem_release(struct se_subsystem_api *); 86 - extern void transport_load_plugins(void); 87 81 extern struct se_session *transport_init_session(void); 88 82 extern void __transport_register_session(struct se_portal_group *, 89 83 struct se_node_acl *, ··· 88 94 extern void transport_free_session(struct se_session *); 89 95 extern void transport_deregister_session_configfs(struct se_session *); 90 96 extern void transport_deregister_session(struct se_session *); 91 - extern void transport_cmd_finish_abort(struct se_cmd *, int); 92 97 extern void transport_complete_sync_cache(struct se_cmd *, int); 93 98 extern void transport_complete_task(struct se_task *, int); 94 - extern void transport_add_task_to_execute_queue(struct se_task *, 95 - struct se_task *, 96 - struct se_device *); 97 - extern void transport_remove_task_from_execute_queue(struct se_task *, 98 - struct se_device *); 99 - extern void __transport_remove_task_from_execute_queue(struct se_task *, 100 - struct se_device *); 101 - unsigned char *transport_dump_cmd_direction(struct se_cmd *); 102 - extern void transport_dump_dev_state(struct se_device *, char *, int *); 103 - extern void transport_dump_dev_info(struct se_device *, struct se_lun *, 104 - unsigned long long, char *, int *); 105 - extern void transport_dump_vpd_proto_id(struct t10_vpd *, 106 - unsigned char *, int); 99 + 107 100 extern void transport_set_vpd_proto_id(struct t10_vpd *, unsigned char *); 108 - extern int transport_dump_vpd_assoc(struct t10_vpd *, 109 - unsigned char *, int); 110 101 extern int transport_set_vpd_assoc(struct t10_vpd *, unsigned char *); 111 - extern int transport_dump_vpd_ident_type(struct t10_vpd *, 112 - unsigned char *, int); 113 102 extern int transport_set_vpd_ident_type(struct t10_vpd *, unsigned char *); 114 - extern int transport_dump_vpd_ident(struct t10_vpd *, 115 - unsigned char *, int); 116 103 extern int transport_set_vpd_ident(struct t10_vpd *, unsigned char *); 104 + 117 105 extern struct se_device *transport_add_device_to_core_hba(struct se_hba *, 118 106 struct se_subsystem_api *, 119 107 struct se_subsystem_dev *, u32, ··· 112 136 extern int transport_generic_handle_cdb_map(struct se_cmd *); 113 137 extern int transport_generic_handle_data(struct se_cmd *); 114 138 extern int transport_generic_handle_tmr(struct se_cmd *); 115 - extern bool target_stop_task(struct se_task *task, unsigned long *flags); 116 139 extern int transport_generic_map_mem_to_cmd(struct se_cmd *cmd, struct scatterlist *, u32, 117 140 struct scatterlist *, u32); 118 - extern int transport_clear_lun_from_sessions(struct se_lun *); 119 141 extern bool transport_wait_for_tasks(struct se_cmd *); 120 142 extern int transport_check_aborted_status(struct se_cmd *, int); 121 143 extern int transport_send_check_condition_and_sense(struct se_cmd *, u8, int); 122 - extern void transport_send_task_abort(struct se_cmd *); 123 - extern void transport_release_cmd(struct se_cmd *); 124 144 extern void transport_generic_free_cmd(struct se_cmd *, int); 125 145 extern void target_get_sess_cmd(struct se_session *, struct se_cmd *); 126 146 extern int target_put_sess_cmd(struct se_session *, struct se_cmd *); 127 147 extern void target_splice_sess_cmd_list(struct se_session *); 128 148 extern void target_wait_for_sess_cmds(struct se_session *, int); 129 - extern void transport_generic_wait_for_cmds(struct se_cmd *, int); 130 149 extern void transport_do_task_sg_chain(struct se_cmd *); 131 150 extern void transport_generic_process_write(struct se_cmd *); 132 151 extern int transport_generic_new_cmd(struct se_cmd *); 133 - extern int transport_generic_do_tmr(struct se_cmd *); 134 152 /* From target_core_alua.c */ 135 153 extern int core_alua_check_nonop_delay(struct se_cmd *); 136 154 /* From target_core_cdb.c */ 137 - extern int transport_emulate_control_cdb(struct se_task *); 138 155 extern void target_get_task_cdb(struct se_task *task, unsigned char *cdb); 139 156 140 157 /*