The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear 
at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.38
------>
commit aa311f4bb0a343dee55dd99ff5149368e8acb19c
Author: Konstantin Khorenko <[email protected]>
Date:   Wed Jun 9 20:14:23 2021 +0300

    Revert "target: add an user-mode helper to handle changes of a group state"
    
    This reverts commit 693732061d6d4532a1d1baf934bd81e45bdf0ffb.
    
    It turned out that we/pStorage don't use tgtd anymore =>
    dropping patches.
    
    Signed-off-by: Konstantin Khorenko <[email protected]>
---
 drivers/target/target_core_alua.c     | 66 ++---------------------------------
 drivers/target/target_core_alua.h     |  4 ---
 drivers/target/target_core_configfs.c | 17 ---------
 include/target/target_core_base.h     |  2 --
 4 files changed, 2 insertions(+), 87 deletions(-)

diff --git a/drivers/target/target_core_alua.c 
b/drivers/target/target_core_alua.c
index 79ca5068d585..893f1fe8e373 100644
--- a/drivers/target/target_core_alua.c
+++ b/drivers/target/target_core_alua.c
@@ -33,7 +33,6 @@
 #include <linux/fs.h>
 #include <scsi/scsi_proto.h>
 #include <asm/unaligned.h>
-#include <linux/kmod.h>
 
 #include <target/target_core_base.h>
 #include <target/target_core_backend.h>
@@ -141,8 +140,6 @@ target_emulate_report_referrals(struct se_cmd *cmd)
        return 0;
 }
 
-static int core_alua_usermode_helper(struct t10_alua_tg_pt_gp *tg_pt_gp,
-                       struct se_device *l_dev, int new_state, int explicit);
 /*
  * REPORT_TARGET_PORT_GROUPS
  *
@@ -177,8 +174,6 @@ target_emulate_report_target_port_groups(struct se_cmd *cmd)
        if (!buf)
                return TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE;
 
-       core_alua_usermode_helper(dev->t10_alua.default_tg_pt_gp, dev, -1, 0);
-
        spin_lock(&dev->t10_alua.tg_pt_gps_lock);
        list_for_each_entry(tg_pt_gp, &dev->t10_alua.tg_pt_gps_list,
                        tg_pt_gp_list) {
@@ -1018,46 +1013,13 @@ static void core_alua_queue_state_change_ua(struct 
t10_alua_tg_pt_gp *tg_pt_gp)
        spin_unlock(&tg_pt_gp->tg_pt_gp_lock);
 }
 
-static int core_alua_usermode_helper(struct t10_alua_tg_pt_gp *tg_pt_gp,
-                       struct se_device *l_dev, int new_state, int explicit)
-{
-       char *envp[] = { "HOME=/",
-                       "TERM=linux",
-                       "PATH=/sbin:/usr/sbin:/bin:/usr/bin",
-                       NULL };
-       char *argv[8] = {}, str_id[6];
-       int ret;
-
-       if (!l_dev->alua_user_helper[0])
-               return 0;
-
-       argv[0] = l_dev->alua_user_helper;
-       snprintf(str_id, sizeof(str_id), "%hu", tg_pt_gp->tg_pt_gp_id);
-       argv[1] = config_item_name(&tg_pt_gp->tg_pt_gp_group.cg_item);
-       argv[2] = str_id;
-       argv[3] = core_alua_dump_state(tg_pt_gp->tg_pt_gp_alua_access_state);
-       argv[4] = new_state < 0 ? "Read" : core_alua_dump_state(new_state);
-       argv[5] = (explicit) ? "explicit" : "implicit";
-       argv[6] = config_item_name(&l_dev->dev_group.cg_item);
-       argv[7] = NULL;
-
-       ret = call_usermodehelper(argv[0], argv, envp, UMH_WAIT_PROC | 
UMH_KILLABLE);
-       pr_debug("helper command: %s exit code %u (0x%x)\n",
-                       argv[0], (ret >> 8) & 0xff, ret);
-       return ret;
-}
-
 static int core_alua_do_transition_tg_pt(
        struct t10_alua_tg_pt_gp *tg_pt_gp,
-       struct se_device *l_dev,
        int new_state,
        int explicit)
 {
        int prev_state;
 
-       if (core_alua_usermode_helper(tg_pt_gp, l_dev, new_state, explicit))
-               return -EAGAIN;
-
        mutex_lock(&tg_pt_gp->tg_pt_gp_transition_mutex);
        /* Nothing to be done here */
        if (tg_pt_gp->tg_pt_gp_alua_access_state == new_state) {
@@ -1166,7 +1128,7 @@ int core_alua_do_port_transition(
                 */
                l_tg_pt_gp->tg_pt_gp_alua_lun = l_lun;
                l_tg_pt_gp->tg_pt_gp_alua_nacl = l_nacl;
-               rc = core_alua_do_transition_tg_pt(l_tg_pt_gp, l_dev,
+               rc = core_alua_do_transition_tg_pt(l_tg_pt_gp,
                                                   new_state, explicit);
                atomic_dec_mb(&lu_gp->lu_gp_ref_cnt);
                return rc;
@@ -1215,7 +1177,7 @@ int core_alua_do_port_transition(
                         * core_alua_do_transition_tg_pt() will always return
                         * success.
                         */
-                       rc = core_alua_do_transition_tg_pt(tg_pt_gp, l_dev,
+                       rc = core_alua_do_transition_tg_pt(tg_pt_gp,
                                        new_state, explicit);
 
                        spin_lock(&dev->t10_alua.tg_pt_gps_lock);
@@ -2149,30 +2111,6 @@ ssize_t core_alua_store_trans_delay_msecs(
        return count;
 }
 
-ssize_t core_alua_show_user_helper(
-       struct se_device *dev,
-       char *page)
-{
-       return sprintf(page, "%s\n", dev->alua_user_helper);
-}
-
-ssize_t core_alua_store_user_helper(
-       struct se_device *dev,
-       const char *page,
-       size_t count)
-{
-       if (count == 1 && page[0] == '-') {
-               dev->alua_user_helper[0] = 0;
-       } else if (count > ALUA_USER_HELPER_LEN - 1) {
-               return -EINVAL;
-       } else {
-               memcpy(dev->alua_user_helper, page, count);
-               dev->alua_user_helper[count] = 0;
-       }
-
-       return count;
-}
-
 ssize_t core_alua_show_implicit_trans_secs(
        struct t10_alua_tg_pt_gp *tg_pt_gp,
        char *page)
diff --git a/drivers/target/target_core_alua.h 
b/drivers/target/target_core_alua.h
index 9467698e7b09..fc9637cce825 100644
--- a/drivers/target/target_core_alua.h
+++ b/drivers/target/target_core_alua.h
@@ -127,10 +127,6 @@ extern ssize_t core_alua_show_trans_delay_msecs(struct 
t10_alua_tg_pt_gp *,
                                        char *);
 extern ssize_t core_alua_store_trans_delay_msecs(struct t10_alua_tg_pt_gp *,
                                        const char *, size_t);
-extern ssize_t core_alua_show_user_helper(struct se_device *,
-                                       char *);
-extern ssize_t core_alua_store_user_helper(struct se_device *,
-                                       const char *, size_t);
 extern ssize_t core_alua_show_implicit_trans_secs(struct t10_alua_tg_pt_gp *,
                                        char *);
 extern ssize_t core_alua_store_implicit_trans_secs(struct t10_alua_tg_pt_gp *,
diff --git a/drivers/target/target_core_configfs.c 
b/drivers/target/target_core_configfs.c
index aea84f5224a6..a517db654ce5 100644
--- a/drivers/target/target_core_configfs.c
+++ b/drivers/target/target_core_configfs.c
@@ -2199,21 +2199,6 @@ static ssize_t target_dev_enable_store(struct 
config_item *item,
        return count;
 }
 
-static ssize_t target_dev_alua_user_helper_show(struct config_item *item, char 
*page)
-{
-       struct se_device *dev = to_device(item);
-
-       return core_alua_show_user_helper(dev, page);
-}
-
-static ssize_t target_dev_alua_user_helper_store(struct config_item *item,
-               const char *page, size_t count)
-{
-       struct se_device *dev = to_device(item);
-
-       return core_alua_store_user_helper(dev, page, count);
-}
-
 static ssize_t target_dev_alua_lu_gp_show(struct config_item *item, char *page)
 {
        struct se_device *dev = to_device(item);
@@ -2485,7 +2470,6 @@ CONFIGFS_ATTR(target_dev_, udev_path);
 CONFIGFS_ATTR(target_dev_, enable);
 CONFIGFS_ATTR(target_dev_, alua_lu_gp);
 CONFIGFS_ATTR(target_dev_, lba_map);
-CONFIGFS_ATTR(target_dev_, alua_user_helper);
 
 static struct configfs_attribute *target_core_dev_attrs[] = {
        &target_dev_attr_info,
@@ -2495,7 +2479,6 @@ static struct configfs_attribute *target_core_dev_attrs[] 
= {
        &target_dev_attr_enable,
        &target_dev_attr_alua_lu_gp,
        &target_dev_attr_lba_map,
-       &target_dev_attr_alua_user_helper,
        NULL,
 };
 
diff --git a/include/target/target_core_base.h 
b/include/target/target_core_base.h
index fc5caf03c752..2622fd654bec 100644
--- a/include/target/target_core_base.h
+++ b/include/target/target_core_base.h
@@ -854,8 +854,6 @@ struct se_device {
        unsigned char           dev_alias[SE_DEV_ALIAS_LEN];
 #define SE_UDEV_PATH_LEN 512           /* must be less than PAGE_SIZE */
        unsigned char           udev_path[SE_UDEV_PATH_LEN];
-#define ALUA_USER_HELPER_LEN 512       /* must be less than PAGE_SIZE */
-       char                    alua_user_helper[ALUA_USER_HELPER_LEN];
        /* Pointer to template of function pointers for transport */
        const struct target_backend_ops *transport;
        struct se_lun           xcopy_lun;
_______________________________________________
Devel mailing list
[email protected]
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to