diff options
author | 2012-10-08 00:03:19 -0400 | |
---|---|---|
committer | 2012-11-06 20:55:43 -0800 | |
commit | 0fd97ccf45be26fb01b3a412f1f6c6b5044b2f16 (patch) | |
tree | c642e3da11e534a311a1e998ef740a3d44b9187b /drivers/target/target_core_internal.h | |
parent | Linux 3.7-rc4 (diff) | |
download | linux-0fd97ccf45be26fb01b3a412f1f6c6b5044b2f16.tar.gz linux-0fd97ccf45be26fb01b3a412f1f6c6b5044b2f16.tar.bz2 linux-0fd97ccf45be26fb01b3a412f1f6c6b5044b2f16.zip |
target: kill struct se_subsystem_dev
Simplify the code a lot by killing the superflous struct se_subsystem_dev.
Instead se_device is allocated early on by the backend driver, which allocates
it as part of its own per-device structure, borrowing the scheme that is for
example used for inode allocation.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers/target/target_core_internal.h')
-rw-r--r-- | drivers/target/target_core_internal.h | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/target/target_core_internal.h b/drivers/target/target_core_internal.h index 0fd428225d11..5854ed67af59 100644 --- a/drivers/target/target_core_internal.h +++ b/drivers/target/target_core_internal.h @@ -20,12 +20,6 @@ int core_dev_export(struct se_device *, struct se_portal_group *, void core_dev_unexport(struct se_device *, struct se_portal_group *, struct se_lun *); int target_report_luns(struct se_cmd *); -void se_release_device_for_hba(struct se_device *); -void se_release_vpd_for_dev(struct se_device *); -int se_free_virtual_device(struct se_device *, struct se_hba *); -int se_dev_check_online(struct se_device *); -int se_dev_check_shutdown(struct se_device *); -void se_dev_set_default_attribs(struct se_device *, struct se_dev_limits *); int se_dev_set_task_timeout(struct se_device *, u32); int se_dev_set_max_unmap_lba_count(struct se_device *, u32); int se_dev_set_max_unmap_block_desc_count(struct se_device *, u32); @@ -60,6 +54,9 @@ void core_dev_free_initiator_node_lun_acl(struct se_portal_group *, struct se_lun_acl *lacl); int core_dev_setup_virtual_lun0(void); void core_dev_release_virtual_lun0(void); +struct se_device *target_alloc_device(struct se_hba *hba, const char *name); +int target_configure_device(struct se_device *dev); +void target_free_device(struct se_device *); /* target_core_hba.c */ struct se_hba *core_alloc_hba(const char *, u32, u32); @@ -106,9 +103,10 @@ bool target_stop_cmd(struct se_cmd *cmd, unsigned long *flags); int transport_clear_lun_from_sessions(struct se_lun *); void transport_send_task_abort(struct se_cmd *); int target_cmd_size_check(struct se_cmd *cmd, unsigned int size); +void target_qf_do_work(struct work_struct *work); /* target_core_stat.c */ -void target_stat_setup_dev_default_groups(struct se_subsystem_dev *); +void target_stat_setup_dev_default_groups(struct se_device *); void target_stat_setup_port_default_groups(struct se_lun *); void target_stat_setup_mappedlun_default_groups(struct se_lun_acl *); |