forked from Minki/linux
target: add helper to find se_device by dev_index
This adds a helper to find a se_device by dev_index. It will be used in the next patches so tcmu's netlink interface can execute commands on specific devices. Signed-off-by: Mike Christie <mchristi@redhat.com> Reviewed-by: Bart Van Assche <bart.vanassche@wdc.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
This commit is contained in:
parent
0a5eee647b
commit
85441e6b8c
@ -880,6 +880,30 @@ sector_t target_to_linux_sector(struct se_device *dev, sector_t lb)
|
||||
}
|
||||
EXPORT_SYMBOL(target_to_linux_sector);
|
||||
|
||||
/**
|
||||
* target_find_device - find a se_device by its dev_index
|
||||
* @id: dev_index
|
||||
* @do_depend: true if caller needs target_depend_item to be done
|
||||
*
|
||||
* If do_depend is true, the caller must do a target_undepend_item
|
||||
* when finished using the device.
|
||||
*
|
||||
* If do_depend is false, the caller must be called in a configfs
|
||||
* callback or during removal.
|
||||
*/
|
||||
struct se_device *target_find_device(int id, bool do_depend)
|
||||
{
|
||||
struct se_device *dev;
|
||||
|
||||
mutex_lock(&g_device_mutex);
|
||||
dev = idr_find(&devices_idr, id);
|
||||
if (dev && do_depend && target_depend_item(&dev->dev_group.cg_item))
|
||||
dev = NULL;
|
||||
mutex_unlock(&g_device_mutex);
|
||||
return dev;
|
||||
}
|
||||
EXPORT_SYMBOL(target_find_device);
|
||||
|
||||
int target_configure_device(struct se_device *dev)
|
||||
{
|
||||
struct se_hba *hba = dev->se_hba;
|
||||
|
@ -106,6 +106,8 @@ bool target_lun_is_rdonly(struct se_cmd *);
|
||||
sense_reason_t passthrough_parse_cdb(struct se_cmd *cmd,
|
||||
sense_reason_t (*exec_cmd)(struct se_cmd *cmd));
|
||||
|
||||
struct se_device *target_find_device(int id, bool do_depend);
|
||||
|
||||
bool target_sense_desc_format(struct se_device *dev);
|
||||
sector_t target_to_linux_sector(struct se_device *dev, sector_t lb);
|
||||
bool target_configure_unmap_from_queue(struct se_dev_attrib *attrib,
|
||||
|
Loading…
Reference in New Issue
Block a user