#include <lnet/lnetctl.h>
#include "obdctl.h"
#include <libcfs/libcfsutil.h>
+#include <lustre/lustre_idl.h>
static int jt_quit(int argc, char **argv) {
Parser_quit(argc, argv);
"abort recovery on a restarting MDT or OST device\n"},
{"set_timeout", jt_lcfg_set_timeout, 0,
"usage: conf_param obd_timeout=<secs>\n"},
-#if LUSTRE_VERSION >= OBD_OCD_VERSION(3,0,53,0)
-#warning "remove conf_param option"
-#else
+#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(3, 0, 53, 0)
{"conf_param", jt_lcfg_mgsparam, 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"
{"=== Pools ==", jt_noop, 0, "pool management"},
{"pool_new", jt_pool_cmd, 0,
"add a new pool\n"
- "usage pool_new <fsname>.<poolname>"},
- {"pool_add", jt_pool_cmd, 0,
+ "usage: pool_new <fsname>.<poolname>"},
+ {"pool_add", jt_pool_cmd, 0,
"add the named OSTs to the pool\n"
- "usage pool_add <fsname>.<poolname> <ostname indexed list>"},
+ "usage: pool_add <fsname>.<poolname> <ostname indexed list>"},
{"pool_remove", jt_pool_cmd, 0,
"remove the named OST from the pool\n"
- "usage pool_remove <fsname>.<poolname> <ostname indexed list>"},
+ "usage: pool_remove <fsname>.<poolname> <ostname indexed list>"},
{"pool_destroy", jt_pool_cmd, 0,
"destroy a pool\n"
- "usage pool_destroy <fsname>.<poolname>"},
+ "usage: pool_destroy <fsname>.<poolname>"},
{"pool_list", jt_pool_cmd, 0,
"list pools and pools members\n"
- "usage pool_list <fsname>[.<poolname>] | <pathname>"},
+ "usage: pool_list <fsname>[.<poolname>] | <pathname>"},
+
+ /* Nodemap commands */
+ {"=== Nodemap ===", jt_noop, 0, "nodemap management"},
+ {"nodemap_activate", jt_nodemap_activate, 0,
+ "activate nodemap idmapping functions\n"
+ "usage: nodemap_activate"},
+ {"nodemap_add", jt_nodemap_add, 0,
+ "add a new nodemap\n"
+ "usage: nodemap_add <nodemap_name>"},
+ {"nodemap_del", jt_nodemap_del, 0,
+ "remove a nodemap\n"
+ "usage: nodemap_del <nodemap_name>"},
+ {"nodemap_add_range", jt_nodemap_add_range, 0,
+ "add a range to a nodemap\n"
+ "usage: nodemap_add_range <NID range>"},
+ {"nodemap_del_range", jt_nodemap_del_range, 0,
+ "add a range to a nodemap\n"
+ "usage: nodemap_del_range <NID range>"},
+ {"nodemap_modify", jt_nodemap_modify, 0,
+ "modify a nodemap parameters"
+ "usage: nodemap_modify nodemap_name param value"},
+ {"nodemap_add_idmap", jt_nodemap_add_idmap, 0,
+ "add a UID or GID mapping to a nodemap"},
+ {"nodemap_del_idmap", jt_nodemap_del_idmap, 0,
+ "delete a UID or GID mapping from a nodemap"},
+ {"nodemap_test_nid", jt_nodemap_test_nid, 0,
+ "usage: nodemap_test_nid <nid>"},
+ {"nodemap_test_id", jt_nodemap_test_id, 0,
+ "Usage: nodemap_test_id --nid <nid> --idtype [uid|gid] --id <id>"},
/* Changelog commands */
{"=== Changelogs ==", jt_noop, 0, "changelog user management"},
{"==== LFSCK ====", jt_noop, 0, "LFSCK"},
{"lfsck_start", jt_lfsck_start, 0, "start LFSCK\n"
"usage: lfsck_start <-M | --device [MDT,OST]_device>\n"
+ " [-A | --all] [-c | --create_ostobj [swtich]]\n"
" [-e | --error error_handle] [-h | --help]\n"
- " [-n | --dryrun switch] [-r | --reset]\n"
- " [-s | --speed speed_limit]\n"
- " [-t | --type lfsck_type[,lfsck_type...]]"},
+ " [-n | --dryrun [switch]] [-o | --orphan]\n"
+ " [-r | --reset] [-s | --speed speed_limit]\n"
+ " [-t | --type lfsck_type[,lfsck_type...]]\n"
+ " [-w | --windows win_size]"},
{"lfsck_stop", jt_lfsck_stop, 0, "stop lfsck(s)\n"
- "usage: lfsck_stop <-M | --device [MDT,OST]_device> [-h | --help]"},
+ "usage: lfsck_stop <-M | --device [MDT,OST]_device>\n"
+ " [-A | --all] [-h | --help]"},
{"==== obsolete (DANGEROUS) ====", jt_noop, 0, "obsolete (DANGEROUS)"},
/* some test scripts still use these */