Whamcloud - gitweb
LU-4278 libcfs: remove LWT
[fs/lustre-release.git] / lustre / utils / lustre_cfg.c
index e709115..4036828 100644 (file)
@@ -139,19 +139,6 @@ int jt_lcfg_attach(int argc, char **argv)
         if (rc < 0) {
                 fprintf(stderr, "error: %s: LCFG_ATTACH %s\n",
                         jt_cmdname(argv[0]), strerror(rc = errno));
-        } else if (argc == 3) {
-                char name[1024];
-
-                lcfg_set_devname(argv[2]);
-                if (strlen(argv[2]) > 128) {
-                        printf("Name too long to set environment\n");
-                        return -EINVAL;
-                }
-                snprintf(name, 512, "LUSTRE_DEV_%s", argv[2]);
-                rc = setenv(name, argv[1], 1);
-                if (rc) {
-                        printf("error setting env variable %s\n", name);
-                }
         } else {
                 lcfg_set_devname(argv[2]);
         }
@@ -567,7 +554,7 @@ static int jt_lcfg_mgsparam2(int argc, char **argv, struct param_opts *popt)
                        int rc2 = lcfg_mgs_ioctl(argv[0], OBD_DEV_ID, lcfg);
                        if (rc2 != 0) {
                                fprintf(stderr, "error: executing %s: %s\n",
-                                       jt_cmdname(argv[0]), strerror(rc2));
+                                       jt_cmdname(argv[0]), strerror(errno));
                                if (rc == 0)
                                        rc = rc2;
                        }
@@ -595,6 +582,11 @@ int jt_lcfg_mgsparam(int argc, char **argv)
         struct lustre_cfg *lcfg;
         char *buf = NULL;
 
+#if LUSTRE_VERSION >= OBD_OCD_VERSION(2,7,53,0)
+       fprintf(stderr, "warning: 'lctl conf_param' is deprecated, "
+               "use 'lctl set_param -P' instead\n");
+#endif
+
         /* mgs_setparam processes only lctl buf #1 */
         if ((argc > 3) || (argc <= 1))
                 return CMD_HELP;
@@ -908,7 +900,13 @@ static int getparam_display(struct param_opts *popt, char *pattern)
                 /* As listparam_display is used to show param name (with type),
                  * here "if (only_path)" is ignored.*/
                 if (popt->po_show_path) {
-                        strcpy(filename, glob_info.gl_pathv[i]);
+                       if (strlen(glob_info.gl_pathv[i]) >
+                           sizeof(filename)-1) {
+                               free(buf);
+                               return -E2BIG;
+                       }
+                       strncpy(filename, glob_info.gl_pathv[i],
+                               sizeof(filename));
                         valuename = display_name(filename, 0);
                 }
 
@@ -1037,7 +1035,10 @@ static int setparam_display(struct param_opts *popt, char *pattern, char *value)
                char *valuename = NULL;
 
                if (popt->po_show_path) {
-                       strcpy(filename, glob_info.gl_pathv[i]);
+                       if (strlen(glob_info.gl_pathv[i]) > sizeof(filename)-1)
+                               return -E2BIG;
+                       strncpy(filename, glob_info.gl_pathv[i],
+                               sizeof(filename));
                        valuename = display_name(filename, 0);
                        if (valuename)
                                printf("%s=%s\n", valuename, value);