LUNFLAGS_READ_WRITE is always the inverse of LUNFLAGS_READ_ONLY.

Removing this enum value resulted in some spots where a parameter's value
can be just true or false, which we can represent with a bool instead of
u32. Change to a bool named "lun_access_ro".

Signed-off-by: Andy Grover <[email protected]>
---
 drivers/target/target_core_device.c          | 46 ++++++++++------------------
 drivers/target/target_core_fabric_configfs.c | 18 +++++------
 drivers/target/target_core_internal.h        |  6 ++--
 drivers/target/target_core_tpg.c             | 16 +++++-----
 include/target/target_core_base.h            |  1 -
 5 files changed, 34 insertions(+), 53 deletions(-)

diff --git a/drivers/target/target_core_device.c 
b/drivers/target/target_core_device.c
index c45f9e9..f32a02d 100644
--- a/drivers/target/target_core_device.c
+++ b/drivers/target/target_core_device.c
@@ -275,20 +275,17 @@ int core_free_device_list_for_node(
 
 void core_update_device_list_access(
        u32 mapped_lun,
-       u32 lun_access,
+       bool lun_access_ro,
        struct se_node_acl *nacl)
 {
        struct se_dev_entry *deve;
 
        spin_lock_irq(&nacl->device_list_lock);
        deve = nacl->device_list[mapped_lun];
-       if (lun_access & TRANSPORT_LUNFLAGS_READ_WRITE) {
-               deve->lun_flags &= ~TRANSPORT_LUNFLAGS_READ_ONLY;
-               deve->lun_flags |= TRANSPORT_LUNFLAGS_READ_WRITE;
-       } else {
-               deve->lun_flags &= ~TRANSPORT_LUNFLAGS_READ_WRITE;
+       if (lun_access_ro)
                deve->lun_flags |= TRANSPORT_LUNFLAGS_READ_ONLY;
-       }
+       else
+               deve->lun_flags &= ~TRANSPORT_LUNFLAGS_READ_ONLY;
        spin_unlock_irq(&nacl->device_list_lock);
 }
 
@@ -300,7 +297,7 @@ int core_enable_device_list_for_node(
        struct se_lun *lun,
        struct se_lun_acl *lun_acl,
        u32 mapped_lun,
-       u32 lun_access,
+       bool lun_access_ro,
        struct se_node_acl *nacl,
        struct se_portal_group *tpg)
 {
@@ -333,13 +330,10 @@ int core_enable_device_list_for_node(
                }
                deve->se_lun_acl = lun_acl;
 
-               if (lun_access & TRANSPORT_LUNFLAGS_READ_WRITE) {
-                       deve->lun_flags &= ~TRANSPORT_LUNFLAGS_READ_ONLY;
-                       deve->lun_flags |= TRANSPORT_LUNFLAGS_READ_WRITE;
-               } else {
-                       deve->lun_flags &= ~TRANSPORT_LUNFLAGS_READ_WRITE;
+               if (lun_access_ro)
                        deve->lun_flags |= TRANSPORT_LUNFLAGS_READ_ONLY;
-               }
+               else
+                       deve->lun_flags &= ~TRANSPORT_LUNFLAGS_READ_ONLY;
 
                spin_unlock_irq(&nacl->device_list_lock);
                return 0;
@@ -350,13 +344,10 @@ int core_enable_device_list_for_node(
        deve->mapped_lun = mapped_lun;
        deve->lun_flags |= TRANSPORT_LUNFLAGS_INITIATOR_ACCESS;
 
-       if (lun_access & TRANSPORT_LUNFLAGS_READ_WRITE) {
-               deve->lun_flags &= ~TRANSPORT_LUNFLAGS_READ_ONLY;
-               deve->lun_flags |= TRANSPORT_LUNFLAGS_READ_WRITE;
-       } else {
-               deve->lun_flags &= ~TRANSPORT_LUNFLAGS_READ_WRITE;
+       if (lun_access_ro)
                deve->lun_flags |= TRANSPORT_LUNFLAGS_READ_ONLY;
-       }
+       else
+               deve->lun_flags &= ~TRANSPORT_LUNFLAGS_READ_ONLY;
 
        deve->creation_time = get_jiffies_64();
        deve->attach_count++;
@@ -1231,8 +1222,7 @@ struct se_lun *core_dev_add_lun(
        if (IS_ERR(lun))
                return lun;
 
-       rc = core_tpg_add_lun(tpg, lun,
-                               TRANSPORT_LUNFLAGS_READ_WRITE, dev);
+       rc = core_tpg_add_lun(tpg, lun, false, dev);
        if (rc < 0)
                return ERR_PTR(rc);
 
@@ -1374,7 +1364,7 @@ int core_dev_add_initiator_node_lun_acl(
        struct se_portal_group *tpg,
        struct se_lun_acl *lacl,
        u32 unpacked_lun,
-       u32 lun_access)
+       bool lun_access_ro)
 {
        struct se_lun *lun;
        struct se_node_acl *nacl;
@@ -1392,14 +1382,13 @@ int core_dev_add_initiator_node_lun_acl(
        if (!nacl)
                return -EINVAL;
 
-       if ((lun->lun_access & TRANSPORT_LUNFLAGS_READ_ONLY) &&
-           (lun_access & TRANSPORT_LUNFLAGS_READ_WRITE))
-               lun_access = TRANSPORT_LUNFLAGS_READ_ONLY;
+       if (lun->lun_access & TRANSPORT_LUNFLAGS_READ_ONLY)
+           lun_access_ro = true;
 
        lacl->se_lun = lun;
 
        if (core_enable_device_list_for_node(lun, lacl, lacl->mapped_lun,
-                       lun_access, nacl, tpg) < 0)
+                       lun_access_ro, nacl, tpg) < 0)
                return -EINVAL;
 
        spin_lock(&lun->lun_acl_lock);
@@ -1410,8 +1399,7 @@ int core_dev_add_initiator_node_lun_acl(
        pr_debug("%s_TPG[%hu]_LUN[%u->%u] - Added %s ACL for "
                " InitiatorNode: %s\n", tpg->se_tpg_tfo->get_fabric_name(),
                tpg->se_tpg_tfo->tpg_get_tag(tpg), unpacked_lun, 
lacl->mapped_lun,
-               (lun_access & TRANSPORT_LUNFLAGS_READ_WRITE) ? "RW" : "RO",
-               lacl->initiatorname);
+               lun_access_ro ? "RO" : "RW", lacl->initiatorname);
        /*
         * Check to see if there are any existing persistent reservation APTPL
         * pre-registrations that need to be enabled for this LUN ACL..
diff --git a/drivers/target/target_core_fabric_configfs.c 
b/drivers/target/target_core_fabric_configfs.c
index 0c3f901..8a5d735 100644
--- a/drivers/target/target_core_fabric_configfs.c
+++ b/drivers/target/target_core_fabric_configfs.c
@@ -69,7 +69,8 @@ static int target_fabric_mappedlun_link(
                        struct se_lun_acl, se_lun_group);
        struct se_portal_group *se_tpg;
        struct config_item *nacl_ci, *tpg_ci, *tpg_ci_s, *wwn_ci, *wwn_ci_s;
-       int ret = 0, lun_access;
+       int ret = 0;
+       bool lun_access_ro;
 
        if (lun->lun_link_magic != SE_LUN_LINK_MAGIC) {
                pr_err("Bad lun->lun_link_magic, not a valid lun_ci pointer:"
@@ -114,12 +115,10 @@ static int target_fabric_mappedlun_link(
        spin_lock_irq(&lacl->se_lun_nacl->device_list_lock);
        deve = lacl->se_lun_nacl->device_list[lacl->mapped_lun];
        if (deve->lun_flags & TRANSPORT_LUNFLAGS_INITIATOR_ACCESS)
-               lun_access = deve->lun_flags;
+               lun_access_ro = (deve->lun_flags & 
TRANSPORT_LUNFLAGS_READ_ONLY);
        else
-               lun_access =
-                       (se_tpg->se_tpg_tfo->tpg_check_prod_mode_write_protect(
-                               se_tpg)) ? TRANSPORT_LUNFLAGS_READ_ONLY :
-                                          TRANSPORT_LUNFLAGS_READ_WRITE;
+               lun_access_ro = 
se_tpg->se_tpg_tfo->tpg_check_prod_mode_write_protect(
+                       se_tpg);
        spin_unlock_irq(&lacl->se_lun_nacl->device_list_lock);
        /*
         * Determine the actual mapped LUN value user wants..
@@ -128,7 +127,7 @@ static int target_fabric_mappedlun_link(
         * iscsi/$IQN/$TPGT/lun/lun_* as on their SCSI Initiator Ports.
         */
        ret = core_dev_add_initiator_node_lun_acl(se_tpg, lacl,
-                       lun->unpacked_lun, lun_access);
+                       lun->unpacked_lun, lun_access_ro);
 
        return (ret < 0) ? -EINVAL : 0;
 }
@@ -198,10 +197,7 @@ static ssize_t target_fabric_mappedlun_store_write_protect(
        if ((op != 1) && (op != 0))
                return -EINVAL;
 
-       core_update_device_list_access(lacl->mapped_lun, (op) ?
-                       TRANSPORT_LUNFLAGS_READ_ONLY :
-                       TRANSPORT_LUNFLAGS_READ_WRITE,
-                       lacl->se_lun_nacl);
+       core_update_device_list_access(lacl->mapped_lun, op, lacl->se_lun_nacl);
 
        pr_debug("%s_ConfigFS: Changed Initiator ACL: %s"
                " Mapped LUN: %u Write Protect bit to %s\n",
diff --git a/drivers/target/target_core_internal.h 
b/drivers/target/target_core_internal.h
index e31f42f..2aab22b 100644
--- a/drivers/target/target_core_internal.h
+++ b/drivers/target/target_core_internal.h
@@ -8,9 +8,9 @@ extern struct t10_alua_lu_gp *default_lu_gp;
 struct se_dev_entry *core_get_se_deve_from_rtpi(struct se_node_acl *, u16);
 int    core_free_device_list_for_node(struct se_node_acl *,
                struct se_portal_group *);
-void   core_update_device_list_access(u32, u32, struct se_node_acl *);
+void   core_update_device_list_access(u32, bool, struct se_node_acl *);
 int    core_enable_device_list_for_node(struct se_lun *, struct se_lun_acl *,
-               u32, u32, struct se_node_acl *, struct se_portal_group *);
+               u32, bool, struct se_node_acl *, struct se_portal_group *);
 int    core_disable_device_list_for_node(struct se_lun *, struct se_lun_acl *,
                u32, u32, struct se_node_acl *, struct se_portal_group *);
 void   core_clear_lun_from_tpg(struct se_lun *, struct se_portal_group *);
@@ -52,7 +52,7 @@ struct se_lun *core_get_lun_from_tpg(struct se_portal_group 
*, u32);
 struct se_lun_acl *core_dev_init_initiator_node_lun_acl(struct se_portal_group 
*,
                struct se_node_acl *, u32, int *);
 int    core_dev_add_initiator_node_lun_acl(struct se_portal_group *,
-               struct se_lun_acl *, u32, u32);
+               struct se_lun_acl *, u32, bool);
 int    core_dev_del_initiator_node_lun_acl(struct se_portal_group *,
                struct se_lun *, struct se_lun_acl *);
 void   core_dev_free_initiator_node_lun_acl(struct se_portal_group *,
diff --git a/drivers/target/target_core_tpg.c b/drivers/target/target_core_tpg.c
index 0696de9..da21294 100644
--- a/drivers/target/target_core_tpg.c
+++ b/drivers/target/target_core_tpg.c
@@ -128,7 +128,7 @@ void core_tpg_add_node_to_devs(
        struct se_portal_group *tpg)
 {
        int i = 0;
-       u32 lun_access = 0;
+       bool lun_access_ro = true;
        struct se_lun *lun;
        struct se_device *dev;
 
@@ -146,27 +146,26 @@ void core_tpg_add_node_to_devs(
                 * demo_mode_write_protect is ON, or READ_ONLY;
                 */
                if (!tpg->se_tpg_tfo->tpg_check_demo_mode_write_protect(tpg)) {
-                       lun_access = TRANSPORT_LUNFLAGS_READ_WRITE;
+                       lun_access_ro = false;
                } else {
                        /*
                         * Allow only optical drives to issue R/W in default RO
                         * demo mode.
                         */
                        if (dev->transport->get_device_type(dev) == TYPE_DISK)
-                               lun_access = TRANSPORT_LUNFLAGS_READ_ONLY;
+                               lun_access_ro = true;
                        else
-                               lun_access = TRANSPORT_LUNFLAGS_READ_WRITE;
+                               lun_access_ro = false;
                }
 
                pr_debug("TARGET_CORE[%s]->TPG[%u]_LUN[%u] - Adding %s"
                        " access for LUN in Demo Mode\n",
                        tpg->se_tpg_tfo->get_fabric_name(),
                        tpg->se_tpg_tfo->tpg_get_tag(tpg), lun->unpacked_lun,
-                       (lun_access == TRANSPORT_LUNFLAGS_READ_WRITE) ?
-                       "READ-WRITE" : "READ-ONLY");
+                       lun_access_ro ? "RO" : "RW");
 
                core_enable_device_list_for_node(lun, NULL, lun->unpacked_lun,
-                               lun_access, acl, tpg);
+                               lun_access_ro, acl, tpg);
                /*
                 * Check to see if there are any existing persistent reservation
                 * APTPL pre-registrations that need to be enabled for this 
dynamic
@@ -652,7 +651,6 @@ static int core_tpg_setup_virtual_lun0(struct 
se_portal_group *se_tpg)
        /* Set in core_dev_setup_virtual_lun0() */
        struct se_device *dev = g_lun0_dev;
        struct se_lun *lun = &se_tpg->tpg_virt_lun0;
-       u32 lun_access = TRANSPORT_LUNFLAGS_READ_ONLY;
        int ret;
 
        lun->unpacked_lun = 0;
@@ -664,7 +662,7 @@ static int core_tpg_setup_virtual_lun0(struct 
se_portal_group *se_tpg)
        spin_lock_init(&lun->lun_sep_lock);
        init_completion(&lun->lun_ref_comp);
 
-       ret = core_tpg_add_lun(se_tpg, lun, lun_access, dev);
+       ret = core_tpg_add_lun(se_tpg, lun, true, dev);
        if (ret < 0)
                return ret;
 
diff --git a/include/target/target_core_base.h 
b/include/target/target_core_base.h
index 23c518a..1a3aa44 100644
--- a/include/target/target_core_base.h
+++ b/include/target/target_core_base.h
@@ -178,7 +178,6 @@ enum transport_lunflags_table {
        TRANSPORT_LUNFLAGS_NO_ACCESS            = 0x00,
        TRANSPORT_LUNFLAGS_INITIATOR_ACCESS     = 0x01,
        TRANSPORT_LUNFLAGS_READ_ONLY            = 0x02,
-       TRANSPORT_LUNFLAGS_READ_WRITE           = 0x04,
 };
 
 /*
-- 
1.9.3

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to