diff mbox

[08/11] target: remove g_device_list

Message ID 1497649650-7605-9-git-send-email-mchristi@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Mike Christie June 16, 2017, 9:47 p.m. UTC
g_device_list is no longer needed because we now use the idr code
for lookups and seaches.

Signed-off-by: Mike Christie <mchristi@redhat.com>
---
 drivers/target/target_core_device.c   | 29 +++++++++++------------------
 drivers/target/target_core_internal.h |  3 ---
 include/target/target_core_base.h     |  1 -
 3 files changed, 11 insertions(+), 22 deletions(-)

Comments

Bart Van Assche June 21, 2017, 6:25 p.m. UTC | #1
On Fri, 2017-06-16 at 16:47 -0500, Mike Christie wrote:
> g_device_list is no longer needed because we now use the idr code
> for lookups and seaches.

Nice work!

Reviewed-by: Bart Van Assche <bart.vanassche@wdc.com>

--
To unsubscribe from this list: send the line "unsubscribe target-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/target/target_core_device.c b/drivers/target/target_core_device.c
index 01b90d3..9c45602 100644
--- a/drivers/target/target_core_device.c
+++ b/drivers/target/target_core_device.c
@@ -49,8 +49,7 @@ 
 #include "target_core_pr.h"
 #include "target_core_ua.h"
 
-DEFINE_MUTEX(g_device_mutex);
-LIST_HEAD(g_device_list);
+static DEFINE_MUTEX(device_mutex);
 static struct idr devices_idr;
 
 static struct se_hba *lun0_hba;
@@ -773,7 +772,6 @@  struct se_device *target_alloc_device(struct se_hba *hba, const char *name)
 	INIT_LIST_HEAD(&dev->delayed_cmd_list);
 	INIT_LIST_HEAD(&dev->state_list);
 	INIT_LIST_HEAD(&dev->qf_cmd_list);
-	INIT_LIST_HEAD(&dev->g_dev_node);
 	spin_lock_init(&dev->execute_task_lock);
 	spin_lock_init(&dev->delayed_cmd_lock);
 	spin_lock_init(&dev->dev_reservation_lock);
@@ -895,11 +893,11 @@  struct se_device *target_find_device(int id, bool do_depend)
 {
 	struct se_device *dev;
 
-	mutex_lock(&g_device_mutex);
+	mutex_lock(&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);
+	mutex_unlock(&device_mutex);
 	return dev;
 }
 EXPORT_SYMBOL(target_find_device);
@@ -943,9 +941,9 @@  int target_for_each_device(int (*fn)(struct se_device *dev, void *data),
 	iter.fn = fn;
 	iter.data = data;
 
-	mutex_lock(&g_device_mutex);
+	mutex_lock(&device_mutex);
 	ret = idr_for_each(&devices_idr, target_devices_idr_iter, &iter);
-	mutex_unlock(&g_device_mutex);
+	mutex_unlock(&device_mutex);
 	return ret;
 }
 
@@ -974,13 +972,13 @@  int target_configure_device(struct se_device *dev)
 	 * Add early so modules like tcmu can use during its
 	 * configuration.
 	 */
-	mutex_lock(&g_device_mutex);
+	mutex_lock(&device_mutex);
 	/*
 	 * Use cyclic to try and avoid collisions with devices
 	 * that were recently removed.
 	 */
 	id = idr_alloc_cyclic(&devices_idr, dev, 0, INT_MAX, GFP_KERNEL);
-	mutex_unlock(&g_device_mutex);
+	mutex_unlock(&device_mutex);
 	if (id < 0) {
 		ret = -ENOMEM;
 		goto out;
@@ -1046,10 +1044,6 @@  int target_configure_device(struct se_device *dev)
 	hba->dev_count++;
 	spin_unlock(&hba->device_lock);
 
-	mutex_lock(&g_device_mutex);
-	list_add_tail(&dev->g_dev_node, &g_device_list);
-	mutex_unlock(&g_device_mutex);
-
 	dev->dev_flags |= DF_CONFIGURED;
 
 	return 0;
@@ -1057,9 +1051,9 @@  int target_configure_device(struct se_device *dev)
 out_free_alua:
 	core_alua_free_lu_gp_mem(dev);
 out_free_index:
-	mutex_lock(&g_device_mutex);
+	mutex_lock(&device_mutex);
 	idr_remove(&devices_idr, dev->dev_index);
-	mutex_unlock(&g_device_mutex);
+	mutex_unlock(&device_mutex);
 out:
 	se_release_vpd_for_dev(dev);
 	return ret;
@@ -1076,10 +1070,9 @@  void target_free_device(struct se_device *dev)
 
 		dev->transport->destroy_device(dev);
 
-		mutex_lock(&g_device_mutex);
+		mutex_lock(&device_mutex);
 		idr_remove(&devices_idr, dev->dev_index);
-		list_del(&dev->g_dev_node);
-		mutex_unlock(&g_device_mutex);
+		mutex_unlock(&device_mutex);
 
 		spin_lock(&hba->device_lock);
 		hba->dev_count--;
diff --git a/drivers/target/target_core_internal.h b/drivers/target/target_core_internal.h
index f3fa187..c39dcf0 100644
--- a/drivers/target/target_core_internal.h
+++ b/drivers/target/target_core_internal.h
@@ -56,9 +56,6 @@  struct target_fabric_configfs {
 extern struct t10_alua_lu_gp *default_lu_gp;
 
 /* target_core_device.c */
-extern struct mutex g_device_mutex;
-extern struct list_head g_device_list;
-
 int	core_alloc_rtpi(struct se_lun *lun, struct se_device *dev);
 struct se_dev_entry *core_get_se_deve_from_rtpi(struct se_node_acl *, u16);
 void	target_pr_kref_release(struct kref *);
diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h
index 51a92f1..516764f 100644
--- a/include/target/target_core_base.h
+++ b/include/target/target_core_base.h
@@ -796,7 +796,6 @@  struct se_device {
 	struct list_head	delayed_cmd_list;
 	struct list_head	state_list;
 	struct list_head	qf_cmd_list;
-	struct list_head	g_dev_node;
 	/* Pointer to associated SE HBA */
 	struct se_hba		*se_hba;
 	/* T10 Inquiry and VPD WWN Information */