Whamcloud - gitweb
LU-8955 nodemap: add SELinux policy info to nodemap
[fs/lustre-release.git] / lustre / utils / lctl.c
index 8df6e7b..4ed25e8 100644 (file)
@@ -23,7 +23,7 @@
  * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
  *
- * Copyright (c) 2012, 2016, Intel Corporation.
+ * Copyright (c) 2012, 2017, Intel Corporation.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
@@ -45,6 +45,7 @@
 #include <linux/lnet/lnetctl.h>
 #include "obdctl.h"
 #include <linux/lustre/lustre_ver.h>
+#include <lustre/lustreapi.h>
 
 static int lctl_list_commands(int argc, char **argv);
 
@@ -93,7 +94,7 @@ command_t cmdlist[] = {
         "usage: which_nid NID [NID...]"},
        {"replace_nids", jt_replace_nids, 0,
         "replace primary NIDs for a device\n"
-        "usage: replace_nids <device> <nid1>[,nid2,nid3]"},
+        "usage: replace_nids <device> <nid1>[,nid2,nid3:nid4,nid5:nid6]"},
        {"interface_list", jt_ptl_print_interfaces, 0,
         "print network interface entries\n"
         "usage: interface_list"},
@@ -114,9 +115,10 @@ command_t cmdlist[] = {
         "usage: net_drop_add <-s | --source NID>\n"
         "                    <-d | --dest NID>\n"
         "                    <<-r | --rate DROP_RATE> |\n"
-        "                     <-i | --interval SECONDS>>\n"
+        "                    <-i | --interval SECONDS>>\n"
         "                    [<-p | --portal> PORTAL...]\n"
-        "                    [<-m | --message> <PUT|ACK|GET|REPLY>...]\n"},
+        "                    [<-m | --message> <PUT|ACK|GET|REPLY>...]\n"
+        "                    [< -e | --health_error]\n"},
        {"net_drop_del", jt_ptl_drop_del, 0, "remove LNet drop rule\n"
         "usage: net_drop_del <[-a | --all] |\n"
         "                    <-s | --source NID>\n"
@@ -162,7 +164,8 @@ command_t cmdlist[] = {
        {"set_timeout", jt_lcfg_set_timeout, 0,
         "usage: conf_param obd_timeout=<secs>\n"},
 #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(3, 0, 53, 0)
-       {"conf_param", jt_lcfg_mgsparam, 0,"set a permanent config parameter.\n"
+       {"conf_param", jt_lcfg_confparam, 0,
+        "set a permanent config parameter.\n"
         "This command must be run on the MGS node\n"
         "usage: conf_param [-d] <target.keyword=val>\n"
         "  -d  Delete the permanent setting from the configuration."},
@@ -180,12 +183,13 @@ command_t cmdlist[] = {
         "      (Especially useful when using patterns.)\n"
         "  -R  Get parameters recursively from the specified entry.\n"},
        {"set_param", jt_lcfg_setparam, 0, "set the Lustre or LNET parameter\n"
-        "usage: set_param [-n] [-P] [-d]"
+        "usage: set_param [-n] [-P] [-d] [-F]"
         "<param_path1=value1 param_path2=value2 ...>\n"
         "Set the value of the Lustre or LNET parameter at the specified path.\n"
         "  -n  Disable printing of the key name when printing values.\n"
         "  -P  Set the parameter permanently, filesystem-wide.\n"
-        "  -d  Remove the permanent setting (only with -P option).\n"},
+        "  -d  Remove the permanent setting (only with -P option).\n"
+        "  -F  Read permanent configuration from a YAML file.\n"},
        {"list_param", jt_lcfg_listparam, 0,
         "list the Lustre or LNET parameter name\n"
         "usage: list_param [-F|-R|-D] <param_path1 param_path2 ...>\n"
@@ -326,6 +330,9 @@ command_t cmdlist[] = {
        {"nodemap_set_fileset", jt_nodemap_set_fileset, 0,
         "set a fileset on a nodemap\n"
         "usage: nodemap_set_fileset <fileset>"},
+       {"nodemap_set_sepol", jt_nodemap_set_sepol, 0,
+        "set SELinux policy info on a nodemap\n"
+        "usage: nodemap_set_sepol <SELinux policy info>"},
        {"nodemap_test_nid", jt_nodemap_test_nid, 0,
         "usage: nodemap_test_nid <nid>"},
        {"nodemap_test_id", jt_nodemap_test_id, 0,
@@ -356,6 +363,9 @@ command_t cmdlist[] = {
         "usage: setup <args...>"},
        {"cleanup", jt_obd_cleanup, 0, "cleanup previously setup device\n"
         "usage: cleanup [force | failover]"},
+       {"clear_conf", jt_lcfg_clear, 0,
+        "drop unused config logs for a device or filesystem\n"
+        "usage: clear_conf <device|fsname>"},
        {"fork_lcfg", jt_lcfg_fork, 0,
         "copy configuration files for named filesystem with given name\n"
         "usage: fork_lcfg <fsname> <newname>"},
@@ -546,7 +556,9 @@ int lctl_main(int argc, char **argv)
        Parser_init("lctl > ", cmdlist);
 
         if (argc > 1) {
+               llapi_set_command_name(argv[1]);
                 rc = Parser_execarg(argc - 1, argv + 1, cmdlist);
+               llapi_clear_command_name();
         } else {
                 rc = Parser_commands();
         }