Whamcloud - gitweb
LU-11283 lnet: fix setting health value manually 74/33074/3
authorAmir Shehata <ashehata@whamcloud.com>
Fri, 24 Aug 2018 19:08:31 +0000 (12:08 -0700)
committerOleg Drokin <green@whamcloud.com>
Mon, 10 Sep 2018 16:53:59 +0000 (16:53 +0000)
Changed the health value option letter to 't' instead
of 'h' to avoid conflict with help option.
Don't increment optind unnecessarily.
In the handling code in api-ni.c there was a missing return.

Test-Parameters: trivial
Signed-off-by: Amir Shehata <ashehata@whamcloud.com>
Change-Id: Ib56f19d1781e44297158c64c5b26004220a1db21
Reviewed-on: https://review.whamcloud.com/33074
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Sonia Sharma <sharmaso@whamcloud.com>
Reviewed-by: Doug Oucharek <dougso@me.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lnet/lnet/api-ni.c
lnet/utils/lnetconfig/liblnetconfig.c
lnet/utils/lnetctl.c

index 8ce8136..acf349c 100644 (file)
@@ -3674,6 +3674,7 @@ LNetCtl(unsigned int cmd, void *arg)
                        lnet_peer_ni_set_healthv(cfg->rh_nid, value,
                                                  cfg->rh_all);
                mutex_unlock(&the_lnet.ln_api_mutex);
+               return 0;
        }
 
        case IOC_LIBCFS_NOTIFY_ROUTER: {
index c9ca32e..7c5128e 100644 (file)
@@ -2049,7 +2049,8 @@ lustre_lnet_config_healthv(int value, bool all, lnet_nid_t nid,
        if (rc != 0) {
                rc = -errno;
                snprintf(err_str,
-                        sizeof(err_str), "Can not configure health value");
+                        sizeof(err_str), "Can not configure health value: %s",
+                        strerror(errno));
        }
 
        cYAML_build_error(rc, seq_no, ADD_CMD, name, err_str, err_rc);
index 16801ef..4932aaf 100644 (file)
@@ -991,10 +991,10 @@ static int set_value_helper(int argc, char **argv,
        int rc, opt;
        struct cYAML *err_rc = NULL;
 
-       const char *const short_options = "h:n:a";
+       const char *const short_options = "t:n:a";
        static const struct option long_options[] = {
                { .name = "nid", .has_arg = required_argument, .val = 'n' },
-               { .name = "health", .has_arg = required_argument, .val = 'h' },
+               { .name = "health", .has_arg = required_argument, .val = 't' },
                { .name = "all", .has_arg = no_argument, .val = 'a' },
                { .name = NULL } };
 
@@ -1008,12 +1008,13 @@ static int set_value_helper(int argc, char **argv,
                case 'n':
                        nid = optarg;
                        break;
-               case 'h':
-                       if (parse_long(argv[optind++], &healthv) != 0)
+               case 't':
+                       if (parse_long(optarg, &healthv) != 0)
                                healthv = -1;
                        break;
                case 'a':
                        all = true;
+                       break;
                default:
                        return 0;
                }