]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
target: Drop incorrect se_lun_acl release for dynamic -> explict ACL conversion
authorNicholas Bellinger <nab@linux-iscsi.org>
Fri, 11 May 2012 05:05:49 +0000 (22:05 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 21 May 2012 17:46:21 +0000 (10:46 -0700)
commit cfebf8f42f47327fa54cf05c19b98f4bd5236a26 upstream.

This patch removes some potentially problematic legacy code within
core_clear_initiator_node_from_tpg() that was originally intended to
release left over se_lun_acl setup during dynamic NodeACL+MappedLUN
generate when running with TPG demo-mode operation.

Since we now only ever expect to allocate and release se_lun_acl from
within target_core_fabric_configfs.c:target_fabric_make_mappedlun() and
target_fabric_drop_mappedlun() context respectively, this code for
demo-mode release is incorrect and needs to be removed.

Cc: Christoph Hellwig <hch@lst.de>
Cc: Andy Grover <agrover@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/target/target_core_tpg.c

index 06336ecd872df683e8d2ac08e61d2898d03cfcb9..af37070fcebb3d64731898886d33f973b106fc1d 100644 (file)
@@ -60,7 +60,6 @@ static void core_clear_initiator_node_from_tpg(
        int i;
        struct se_dev_entry *deve;
        struct se_lun *lun;
-       struct se_lun_acl *acl, *acl_tmp;
 
        spin_lock_irq(&nacl->device_list_lock);
        for (i = 0; i < TRANSPORT_MAX_LUNS_PER_TPG; i++) {
@@ -81,28 +80,7 @@ static void core_clear_initiator_node_from_tpg(
                core_update_device_list_for_node(lun, NULL, deve->mapped_lun,
                        TRANSPORT_LUNFLAGS_NO_ACCESS, nacl, tpg, 0);
 
-               spin_lock(&lun->lun_acl_lock);
-               list_for_each_entry_safe(acl, acl_tmp,
-                                       &lun->lun_acl_list, lacl_list) {
-                       if (!strcmp(acl->initiatorname, nacl->initiatorname) &&
-                           (acl->mapped_lun == deve->mapped_lun))
-                               break;
-               }
-
-               if (!acl) {
-                       pr_err("Unable to locate struct se_lun_acl for %s,"
-                               " mapped_lun: %u\n", nacl->initiatorname,
-                               deve->mapped_lun);
-                       spin_unlock(&lun->lun_acl_lock);
-                       spin_lock_irq(&nacl->device_list_lock);
-                       continue;
-               }
-
-               list_del(&acl->lacl_list);
-               spin_unlock(&lun->lun_acl_lock);
-
                spin_lock_irq(&nacl->device_list_lock);
-               kfree(acl);
        }
        spin_unlock_irq(&nacl->device_list_lock);
 }