scsi: target: Remove tpg_list and se_portal_group.se_tpg_node
authorBart Van Assche <bvanassche@acm.org>
Mon, 30 Sep 2019 23:22:24 +0000 (16:22 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 4 Oct 2019 02:00:09 +0000 (22:00 -0400)
Maintaining tpg_list without ever iterating over it is not useful. Hence
remove tpg_list. This patch does not change the behavior of the SCSI target
code.

Cc: Mike Christie <mchristie@redhat.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Nicholas Bellinger <nab@linux-iscsi.org>
Link: https://lore.kernel.org/r/20190930232224.58980-1-bvanassche@acm.org
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Mike Christie <mchristi@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/target/target_core_tpg.c
drivers/target/target_core_xcopy.c
include/target/target_core_base.h

index e5a71ad..d24e0a3 100644 (file)
@@ -32,9 +32,6 @@
 
 extern struct se_device *g_lun0_dev;
 
-static DEFINE_SPINLOCK(tpg_lock);
-static LIST_HEAD(tpg_list);
-
 /*     __core_tpg_get_initiator_node_acl():
  *
  *     mutex_lock(&tpg->acl_node_mutex); must be held when calling
@@ -475,7 +472,6 @@ int core_tpg_register(
        se_tpg->se_tpg_wwn = se_wwn;
        atomic_set(&se_tpg->tpg_pr_ref_count, 0);
        INIT_LIST_HEAD(&se_tpg->acl_node_list);
-       INIT_LIST_HEAD(&se_tpg->se_tpg_node);
        INIT_LIST_HEAD(&se_tpg->tpg_sess_list);
        spin_lock_init(&se_tpg->session_lock);
        mutex_init(&se_tpg->tpg_lun_mutex);
@@ -494,10 +490,6 @@ int core_tpg_register(
                }
        }
 
-       spin_lock_bh(&tpg_lock);
-       list_add_tail(&se_tpg->se_tpg_node, &tpg_list);
-       spin_unlock_bh(&tpg_lock);
-
        pr_debug("TARGET_CORE[%s]: Allocated portal_group for endpoint: %s, "
                 "Proto: %d, Portal Tag: %u\n", se_tpg->se_tpg_tfo->fabric_name,
                se_tpg->se_tpg_tfo->tpg_get_wwn(se_tpg) ?
@@ -519,10 +511,6 @@ int core_tpg_deregister(struct se_portal_group *se_tpg)
                tfo->tpg_get_wwn(se_tpg) ? tfo->tpg_get_wwn(se_tpg) : NULL,
                se_tpg->proto_id, tfo->tpg_get_tag(se_tpg));
 
-       spin_lock_bh(&tpg_lock);
-       list_del(&se_tpg->se_tpg_node);
-       spin_unlock_bh(&tpg_lock);
-
        while (atomic_read(&se_tpg->tpg_pr_ref_count) != 0)
                cpu_relax();
 
index b9b1e92..425c107 100644 (file)
@@ -467,7 +467,6 @@ int target_xcopy_setup_pt(void)
        }
 
        memset(&xcopy_pt_tpg, 0, sizeof(struct se_portal_group));
-       INIT_LIST_HEAD(&xcopy_pt_tpg.se_tpg_node);
        INIT_LIST_HEAD(&xcopy_pt_tpg.acl_node_list);
        INIT_LIST_HEAD(&xcopy_pt_tpg.tpg_sess_list);
 
index 7c9716f..1728e88 100644 (file)
@@ -876,7 +876,6 @@ struct se_portal_group {
        /* Spinlock for adding/removing sessions */
        spinlock_t              session_lock;
        struct mutex            tpg_lun_mutex;
-       struct list_head        se_tpg_node;
        /* linked list for initiator ACL list */
        struct list_head        acl_node_list;
        struct hlist_head       tpg_lun_hlist;