Whamcloud - gitweb
LU-4315 doc: add separate lctl-list_param man page
[fs/lustre-release.git] / lustre / doc / lctl.8
index a9bc9a0..58a18c3 100644 (file)
@@ -1,4 +1,4 @@
-.TH lctl 1 "2003 Oct 8" Lustre "configuration utilities"
+.TH lctl 8 "2017 Jan 12" Lustre "configuration utilities"
 .SH NAME
 lctl \- Low level Lustre filesystem configuration utility
 .SH SYNOPSIS
 .SH NAME
 lctl \- Low level Lustre filesystem configuration utility
 .SH SYNOPSIS
@@ -7,44 +7,47 @@ lctl \- Low level Lustre filesystem configuration utility
 .br
 .B lctl --device <devno> <command [args]>
 .br
 .br
 .B lctl --device <devno> <command [args]>
 .br
+.B lctl --version
+.br
+.B lctl --list-commands
+.br
 .SH DESCRIPTION
 .B lctl
 is used to directly control Lustre via an ioctl interface, allowing
 various configuration, maintenance, and debugging features to be accessed.
 .SH DESCRIPTION
 .B lctl
 is used to directly control Lustre via an ioctl interface, allowing
 various configuration, maintenance, and debugging features to be accessed.
+
 .B lctl
 can be invoked in interactive mode by issuing lctl command. After that, commands are issued as below. The most common commands in lctl are
 .B lctl
 can be invoked in interactive mode by issuing lctl command. After that, commands are issued as below. The most common commands in lctl are
-.B dl
-,
-.B dk
-,
-.B device 
-,
-.B network 
-.I <up/down>
-,
-.B list_nids
-,
+.BR dl ,
+.BR dk ,
+.BR device ,
+.B network
+.IR <up/down> ,
+.BR list_nids ,
 .B ping
 .B ping
-.I nid
-,
-.B help
-,
-.B quit.
+.IR nid ,
+.BR help ,
+.BR quit .
 
 To get a complete listing of available commands, type
 
 To get a complete listing of available commands, type
-.B help
+.B --list-commands
 at the lctl prompt.  To get basic help on the meaning and syntax of a
 at the lctl prompt.  To get basic help on the meaning and syntax of a
-command, type 
-.B help 
+command, type
+.B help
 .I command
 .I command
-.  Command completion is activated with the TAB key, and command history is available via the up- and down-arrow keys. 
+.  Command completion is activated with the TAB key, and command history is available via the up- and down-arrow keys.
 
 
-For non-interactive use, one uses the second invocation, which runs command after connecting to the device. 
+For non-interactive use, one uses the second invocation, which runs command after connecting to the device.
+
+.SS System Configuration
+The on-line tool set for backup or removal of Lustre system configuration. For detail, please see:
+.PP
+\fBlctl-lcfg\fR(8)
+.RS 4
 
 .SS Network Configuration
 .TP
 
 .SS Network Configuration
 .TP
-.BI network " <up/down>|<tcp/elan/myrinet>"
+.BR network " <" up / down >|< tcp / o2ib >
 Start or stop LNET, or select a network type for other
 .I lctl
 LNET commands
 Start or stop LNET, or select a network type for other
 .I lctl
 LNET commands
@@ -56,7 +59,7 @@ Print all Network Identifiers on the local node. LNET must be running.
 From a list of nids for a remote node, show which interface communication
 will take place on.
 .TP
 From a list of nids for a remote node, show which interface communication
 will take place on.
 .TP
-.BI replace_nids " <devicename> <nid1>[,nid2,nid3 ...]"
+.BI replace_nids " <devicename> <nid1>[,nid2,nid3:nid4,nid5:nid6 ...]"
 Replace the LNET Network Identifiers for a given device,
 as when the server's IP address has changed.
 This command must be run on the MGS node.
 Replace the LNET Network Identifiers for a given device,
 as when the server's IP address has changed.
 This command must be run on the MGS node.
@@ -65,176 +68,58 @@ in another cases). To start the MGS service only:
 mount -t lustre <MDT partition> -o nosvc <mount point>
 Note the replace_nids command skips any invalidated records in the configuration log.
 The previous log is backed up with the suffix '.bak'.
 mount -t lustre <MDT partition> -o nosvc <mount point>
 Note the replace_nids command skips any invalidated records in the configuration log.
 The previous log is backed up with the suffix '.bak'.
+Failover nids must be passed after ':' symbol. More then
+one failover can be set (every failover nids after ':' symbol).
 .TP
 .TP
-.BI ping " <nid> "
+.BI ping " <nid> timeout"
 Check LNET connectivity via an LNET ping. This will use the fabric
 Check LNET connectivity via an LNET ping. This will use the fabric
-appropriate to the specified NID.
+appropriate to the specified NID. By default lctl will attempt to
+reach the remote node up to 120 seconds and then timeout. To disable
+the timeout just specify an negative timeout value.
 .TP
 .TP
-.BI interface_list 
-Print the network interface information for a given 
+.BI interface_list
+Print the network interface information for a given
 .B network
 type.
 .TP
 .B network
 type.
 .TP
-.BI peer_list 
-Print the known peers for a given 
+.BI peer_list
+Print the known peers for a given
 .B network
 type.
 .TP
 .B network
 type.
 .TP
-.BI conn_list 
+.BI conn_list
 Print all the connected remote NIDs for a given
 .B network
 type.
 .TP
 Print all the connected remote NIDs for a given
 .B network
 type.
 .TP
-.BI active_tx 
-This command should print active transmits, and it is only used for elan network type.
-.TP 
-.BI route_list 
+.BI route_list
 Print the complete routing table.
 .PP
 .SS Device Selection
 Print the complete routing table.
 .PP
 .SS Device Selection
-.TP 
-.BI device " <devname> " 
-This will select the specified OBD device.  All other commands depend on the device being set. 
-.TP 
-.BI device_list 
-Show all the local Lustre OBDs. AKA 
+.TP
+.BI device " <devname> "
+This will select the specified OBD device.  All other commands depend on the device being set.
+.TP
+.BI device_list
+Show all the local Lustre OBDs. AKA
 .B dl
 .PP
 .SS Device Operations
 .B dl
 .PP
 .SS Device Operations
-.TP 
-.BI list_param " [-F|-R] <param_search ...>"
-List the Lustre or LNet parameter name
-.B -F
-Add '/', '@' or '=' for dirs, symlinks and writeable files, respectively.
-.br
-.B -R
-Recursively list all parameters under the specified parameter search string. If
-.I param_search
-is unspecified, all the parameters will be shown.
-.br
-.B Examples:
-.br
-.B
-# lctl list_param ost.*
-.br
-  ost.OSS
-.br
-  ost.num_refs
-.br
-.B
-# lctl list_param -F ost.* debug
-.br
-  ost.OSS/
-.br
-  ost.num_refs
-.br
-  debug=
-.br
-.B
-# lctl list_param -R mdt
-.br
-  mdt
-.br
-  mdt.lustre-MDT0000
-.br
-  mdt.lustre-MDT0000.capa
-.br
-  mdt.lustre-MDT0000.capa_count
-.br
-  mdt.lustre-MDT0000.capa_key_timeout
-.br
-  mdt.lustre-MDT0000.capa_timeout
-.br
-  mdt.lustre-MDT0000.commit_on_sharing
-.br
-  mdt.lustre-MDT0000.evict_client
-.br
-  ...
-.TP
-.BI get_param " [-n|-N|-F] <parameter ...>"
-Get the value of Lustre or LNET parameter.
-.br
-.B -n
-Print only the value and not parameter name.
-.br
-.B -N
-Print only matched parameter names and not the values. (Especially useful when using patterns.)
-.br
-.B -F
-When -N specified, add '/', '@' or '=' for directories, symlinks and writeable files, respectively.
-.br
-.B Examples:
-.br
-.B
-# lctl get_param ost.*
-.br
-  ost.OSS
-.br
-  ost.num_refs
-.br
-.B
-# lctl get_param -n debug timeout
-.br
-  super warning dlmtrace error emerg ha rpctrace vfstrace config console
-.br
-  20
-.br
-.B
-# lctl get_param -N ost.* debug
-.br
-  ost.OSS
-.br
-  ost.num_refs
-.br
-  debug
-.br
-lctl "get_param -NF" is equivalent to "list_param -F".
-.TP
-.BI set_param " [-n] [-P] [-d] <parameter=value ...>"
-Set the value of Lustre or LNET parameter.
-.br
-.B -n
-Disable printing of the key name when printing values.
-.br
-.B -P
-Set the parameter permanently, filesystem-wide.
-This parameters are only visible to 2.5.0 and later clients, older clients will not see these parameters.
-.br
-.B -d
-Remove the permanent setting (only with -P option)
-.br
-.B Examples:
-.br
-.B
-# lctl set_param fail_loc=0 timeout=20
-.br
-  fail_loc=0
-.br
-  timeout=20
-.br
-.B
-# lctl set_param -n fail_loc=0 timeout=20
-.br
-  0
-.br
-  20
-.br
-.B
-# lctl set_param -P osc.*.max_dirty_mb=32
-.br
 .TP
 .BI conf_param " [-d] <device|fsname>.<parameter>=<value>"
 Set a permanent configuration parameter for any device via the MGS.  This
 command must be run on the MGS node.
 .br
 .B -d <device|fsname>.<parameter>
 .TP
 .BI conf_param " [-d] <device|fsname>.<parameter>=<value>"
 Set a permanent configuration parameter for any device via the MGS.  This
 command must be run on the MGS node.
 .br
 .B -d <device|fsname>.<parameter>
-Delete a parameter setting (use the default value at the next restart).  A null value for <value> also deletes the parameter setting.
+Delete a parameter setting (use the default value at the next restart).
+A null value for <value> also deletes the parameter setting.  This is
+useful if an incorrect or obsolete parameter is in the configuration.
 .br
 .B Parameters:
 .br
 .br
 .B Parameters:
 .br
-All of the writable parameters under 
+All of the writable parameters under
 .B lctl list_param
 .B lctl list_param
-(e.g. 
+(e.g.
 .I lctl list_param -F osc.*.* | grep =
 ) can be permanently set using
 .B lctl conf_param
 .I lctl list_param -F osc.*.* | grep =
 ) can be permanently set using
 .B lctl conf_param
@@ -243,167 +128,290 @@ All of the writable parameters under
 Additionally, failover nodes may be added (or removed), and some system-wide parameters may be set as well (sys.at_max, sys.at_min, sys.at_extra, sys.at_early_margin, sys.at_history, sys.timeout, sys.ldlm_timeout.)  <device> is ignored for system wide parameters.
 .br
 .B Examples:
 Additionally, failover nodes may be added (or removed), and some system-wide parameters may be set as well (sys.at_max, sys.at_min, sys.at_extra, sys.at_early_margin, sys.at_history, sys.timeout, sys.ldlm_timeout.)  <device> is ignored for system wide parameters.
 .br
 .B Examples:
-.br 
+.br
 # lctl conf_param testfs.sys.at_max=1200
 .br
 # lctl conf_param testfs.sys.at_max=1200
 .br
-# lctl conf_param testfs.llite.max_read_ahead_mb=16 
+# lctl conf_param testfs.llite.max_read_ahead_mb=16
 .br
 # lctl conf_param testfs-MDT0000.lov.stripesize=2M
 .br
 .br
 # lctl conf_param testfs-MDT0000.lov.stripesize=2M
 .br
-# lctl conf_param lustre-OST0001.osc.active=0 
+# lctl conf_param lustre-OST0001.osc.active=0
 .br
 .br
-# lctl conf_param testfs-OST0000.osc.max_dirty_mb=29.15 
+# lctl conf_param testfs-OST0000.osc.max_dirty_mb=29.15
 .br
 .br
-# lctl conf_param testfs-OST0000.ost.client_cache_seconds=15 
+# lctl conf_param testfs-OST0000.ost.client_cache_seconds=15
 .br
 # lctl conf_param testfs-OST0000.failover.node=1.2.3.4@tcp1
 .br
 # lctl conf_param testfs-OST0000.failover.node=1.2.3.4@tcp1
-.TP 
-.BI activate 
-Reactivate an import after deactivating, below.  This setting is only effective until the next restart (see 
+.br
+# lctl conf_param -d testfs-OST0000.bad_param
+.TP
+.BI activate
+Reactivate an import after deactivating, below.  This setting is only effective until the next restart (see
 .B conf_param
 ).
 .B conf_param
 ).
-.TP 
-.BI deactivate 
+.TP
+.BI deactivate
 Deactivate an import, in particular meaning do not assign new file stripes
 to an OSC.  This command should be used on the OSC in the MDT LOV
 corresponding to a failed OST device, to prevent further attempts at
 communication with the failed OST.
 Deactivate an import, in particular meaning do not assign new file stripes
 to an OSC.  This command should be used on the OSC in the MDT LOV
 corresponding to a failed OST device, to prevent further attempts at
 communication with the failed OST.
-.TP 
-.BI abort_recovery 
-Abort the recovery process on a restarting MDT or OST device
-.PP
-.SS Virtual Block Device Operation
-Lustre is able to emulate a virtual block device upon regular file. It is necessary to be used when you are trying to setup a swap space via file.
-.TP
-.BI blockdev_attach " <file name> <device node>"
-Attach the lustre regular file to a block device. If the device node is not existent, lctl will create it \- it is recommended to create it by lctl since the emulator uses a dynamical major number.
-.TP
-.BI blockdev_detach " <device node>"
-Detach the virtual block device.
 .TP
 .TP
-.BI blockdev_info " <device node>"
-Acquire which lustre file was attached to the device node.
+.BI abort_recovery
+Abort the recovery process on a restarting MDT or OST device
 .PP
 .SS Changelogs
 .TP
 .PP
 .SS Changelogs
 .TP
-.BI changelog_register
+.BI changelog_register " [-n]"
 Register a new changelog user for a particular device.  Changelog entries
 will not be purged beyond any registered users' set point. (See lfs changelog_clear.)
 Register a new changelog user for a particular device.  Changelog entries
 will not be purged beyond any registered users' set point. (See lfs changelog_clear.)
+.br
+.B -n
+Print only the ID of the newly registered user.
 .TP
 .BI changelog_deregister " <id>"
 Unregister an existing changelog user.  If the user's "clear" record number
 is the minimum for the device, changelog records will be purged until the
 next minimum.
 .PP
 .TP
 .BI changelog_deregister " <id>"
 Unregister an existing changelog user.  If the user's "clear" record number
 is the minimum for the device, changelog records will be purged until the
 next minimum.
 .PP
+.SS Nodemap
+An identity mapping feature that facilitates mapping of client UIDs and GIDs to
+local file system UIDs and GIDs, while maintaining POSIX ownership, permissions,
+and quota.
+
+While the nodemap feature is enabled, all client file system access is subject
+to the nodemap identity mapping policy, which consists of the 'default' catchall
+nodemap, and any user-defined nodemaps. The 'default' nodemap maps all client
+identities to 99:99 (nobody:nobody). Administrators can define nodemaps for a
+range of client NIDs which map identities, and these nodemaps can be flagged as
+ 'trusted' so identities are accepted without translation, as well as flagged
+as 'admin' meaning that root is not squashed for these nodes.
+
+Note: In the current phase of implementation, to use the nodemap functionality
+you only need to enable and define nodemaps on the MDS. The MDSes must also be
+in a nodemap with the admin and trusted flags set. To use quotas with nodemaps,
+you must also use set_param to enable and define nodemaps on the OSS (matching
+what is defined on the MDS). Nodemaps do not currently persist, unless you
+define them with set_param and use the -P flag. Note that there is a hard limit
+to the number of changes you can persist over the lifetime of the file system.
+
+See also:
+
+.PP
+\fBlctl-nodemap-activate\fR(8)
+.RS 4
+Activate/deactivate the nodemap feature.
+.RE
+.PP
+\fBlctl-nodemap-add\fR(8)
+.RS 4
+Add a new nodemap, to which NID ranges, identities, and properties can be added.
+.RE
+.PP
+\fBlctl-nodemap-del\fR(8)
+.RS 4
+Delete an existing nodemap.
+.RE
+.PP
+\fBlctl-nodemap-add-range\fR(8)
+.RS 4
+Define a range of NIDs for a nodemap.
+.RE
+.PP
+\fBlctl-nodemap-del-range\fR(8)
+.RS 4
+Delete an existing NID range from a nodemap.
+.RE
+.PP
+\fBlctl-nodemap-add-idmap\fR(8)
+.RS 4
+Add a UID or GID mapping to a nodemap.
+.RE
+.PP
+\fBlctl-nodemap-del-idmap\fR(8)
+.RS 4
+Delete an existing UID or GID mapping from a nodemap.
+.RE
+.PP
+\fBlctl-nodemap-modify\fR(8)
+.RS 4
+Modify a nodemap property.
+.RE
+.PP
+\fBlctl-nodemap-set-fileset\fR(8)
+.RS 4
+Add a fileset to a nodemap.
+.RE
+.PP
+\fBlctl-nodemap-set-sepol\fR(8)
+.RS 4
+Set SELinux policy info on a nodemap.
+.RE
+.SS Configuration logs
+.TP
+.BI clear_conf " <device|fsname>"
+This command runs on MGS node having MGS device mounted with -o
+nosvc. It cleans up configuration files stored in the CONFIGS/ directory
+of any records marked SKIP. If the device name is given, then the
+specific logs for that filesystem (e.g. testfs-MDT0000) is processed.
+Otherwise, if a filesystem name is given then all configuration files for the
+specified filesystem are cleared.
+.PP
 .SS LFSCK
 .SS LFSCK
-An on-line Lustre consistency check and repair tool.
-.TP
-.B lfsck_start \fR<-M | --device [MDT,OST]_device>
-     \fR[-e | --error <error_handle>]
-     \fR[-h | --help]
-     \fR[-n | --dryrun <switch>]
-     \fR[-r | --reset]
-     \fR[-s | --speed <speed_limit>]
-     \fR[-A | --all]
-     \fR[-t | --type <lfsck_type[,lfsck_type...]>]
-     \fR[-w | --windows <win_size>]
-     \fR[-o | --orphan]
-.br
+An on-line Lustre consistency check and repair tool. It is used for totally
+replacing the old lfsck tool for kinds of Lustre inconsistency verification,
+including: corrupted or lost OI mapping, corrupted or lost link EA, corrupted
+or lost FID in name entry, dangling name entry, multiple referenced name entry,
+unmatched MDT-object and name entry pairs, orphan MDT-object, incorrect
+MDT-object links count, corrupted namespace, corrupted or lost lov EA, lost
+OST-object, multiple referenced OST-object, unmatched MDT-object and OST-object
+pairs, orphan OST-object, and so on.
+
+See also:
+
+.PP
+\fBlctl-lfsck-start\fR(8)
+.RS 4
 Start LFSCK on the specified MDT or OST device with specified parameters.
 Start LFSCK on the specified MDT or OST device with specified parameters.
-.TP
-  -M, --device <MDT,OST_device>
-The MDT or OST device to start LFSCK/scrub on.
-.TP
-  -e, --error <error_handle>
-With error_handle as 'abort' LFSCK will stop if a repair is impossible. If no
-value is specified, the saved value will be used if resuming from a checkpoint.
-Otherwise the default behavior is to 'continue' if a repair is impossible.
-.TP
-  -h, --help
-Show this help.
-.TP
-  -n, --dryrun <on|off>
-Perform a trial run with no changes made. Default is 'off'
-.TP
-  -r, --reset
-Set the current position of object iteration to the beginning of the specified
-MDT. By default the iterator will resume scanning from the last checkpoint
-(saved periodically by LFSCK) provided it is available.
-.TP
-  -s, --speed <speed_limit>
-Set the upper limit of LFSCK processing in objects per second. If no value is
-specified the saved value is used (if resuming from a check point). Otherwise
-the default value of 0 is used. 0 means run as fast as possible.
-.TP
-  -A, --all
-Start LFSCK on all devices.
-.TP
-  -t, --type <lfsck_type[,lfsck_type...]>
-The type of LFSCK checking/repair to execute. By default, the LFSCK
-component(s) which ran last time and did not finish or the component(s)
-corresponding to some known system inconsistency, will be started. Anytime
-LFSCK is triggered on an ldiskfs MDT or OST, the OI Scrub is executed.
-Alternative types include FID-in-dirent and linkEA (namespace) and MDT-OST
-inconsistency (layout).
-.TP
-  -w, --windows
-The window size for async requests pipeline.
-.TP
-  -o, --orphan
-Handle orphan objects, such as orphan OST-objects for layout LFSCK.
-.TP
-.B lfsck_stop  \fR<-M | --device [MDT,OST]_device>
-     \fR[-A | --all]
-     \fR[-h | --help]
+.RE
+.PP
+\fBlctl-lfsck-stop\fR(8)
+.RS 4
 Stop LFSCK on the specified MDT or OST device.
 Stop LFSCK on the specified MDT or OST device.
-.TP
-  -M, --device <[MDT,OST]_device>
-The MDT or OST device to stop LFSCK/scrub on.
-.TP
-  -A, --all
-Stop LFSCK on all devices.
-.TP
-  -h, --help
-Show this help.
+.RE
+.PP
+\fBlctl-lfsck-query\fR(8)
+.RS 4
+Get the LFSCK global status via the specified MDT device.
+.RE
+
+.SS BARRIER
+The tools set for write (modify) barrier on all MDTs. For detail, please see:
+.PP
+\fBlctl-barrier\fR(8)
+.RS 4
+
+.SS SNAPSHOT
+ZFS backend based snapshot tools set. The tool loads system configuration
+from the file
+.B /etc/ldev.conf
+on the MGS, and call related ZFS commands to
+maintain Lustre snapshot pieces on all targets (MGS/MDT/OST).
+The configuration file
+.B /etc/ldev.conf
+is not only for snapshot, but also
+for other purpose. The format is:
+  <host> foreign/- <label> <device> [journal-path]/- [raidtab]
+
+The format of
+.I <label>
+is:
+  fsname-<role><index> or <role><index>
+
+The format of
+.I <device>
+is:
+  [md|zfs:][pool_dir/]<pool>/<filesystem>
+
+Snapshot only uses the fields <host>, <label> and <device>.
+
+.br
+.B Example:
+.br
+.B
+# cat /etc/ldev.conf
+.br
+ host-mdt1 - myfs-MDT0000 zfs:/tmp/myfs-mdt1/mdt1
+ host-mdt2 - myfs-MDT0001 zfs:myfs-mdt2/mdt2
+ host-ost1 - OST0000 zfs:/tmp/myfs-ost1/ost1
+ host-ost2 - OST0001 zfs:myfs-ost2/ost2
+
+See also:
+
+.PP
+\fBlctl-snapshot-create\fR(8)
+.RS 4
+Create snapshot with the given name.
+.RE
+.PP
+\fBlctl-snapshot-destroy\fR(8)
+.RS 4
+Destroy the specified snapshot.
+.RE
+.PP
+\fBlctl-snapshot-modify\fR(8)
+.RS 4
+Modify the specified snapshot.
+.RE
+.PP
+\fBlctl-snapshot-list\fR(8)
+.RS 4
+Query the snapshot information.
+.RE
+.PP
+\fBlctl-snapshot-mount\fR(8)
+.RS 4
+Mount the specified snapshot.
+.RE
+.PP
+\fBlctl-snapshot-umount\fR(8)
+.RS 4
+Umount the specified snapshot.
+.RE
+
 .SS Debug
 .SS Debug
-.TP 
-.BI debug_daemon 
+.TP
+.BI debug_daemon
 Start and stop the debug daemon, and control the output filename and size.
 Start and stop the debug daemon, and control the output filename and size.
-.TP 
-.BI debug_kernel " [file] [raw]" 
+.TP
+.BI debug_kernel " [file] [raw]"
 Dump the kernel debug buffer to stdout or file.
 Dump the kernel debug buffer to stdout or file.
-.TP 
+.TP
 .BI debug_file " <input> [output]"
 Convert kernel-dumped debug log from binary to plain text format.
 .BI debug_file " <input> [output]"
 Convert kernel-dumped debug log from binary to plain text format.
-.TP 
-.BI clear 
+.TP
+.BI clear
 Clear the kernel debug buffer.
 Clear the kernel debug buffer.
-.TP 
-.BI mark " <text>" 
+.TP
+.BI mark " <text>"
 Insert marker text in the kernel debug buffer.
 Insert marker text in the kernel debug buffer.
-.TP 
-.BI filter " <subsystem id/debug mask>" 
+.TP
+.BI filter " <subsystem id/debug mask>"
 Filter kernel debug messages by subsystem or mask.
 Filter kernel debug messages by subsystem or mask.
-.TP 
-.BI show " <subsystem id/debug mask>" 
+.TP
+.BI show " <subsystem id/debug mask>"
 Show specific type of messages.
 Show specific type of messages.
-.TP 
-.BI debug_list " <subs/types>" 
+.TP
+.BI debug_list " <subs/types>"
 List all the subsystem and debug types.
 .TP
 List all the subsystem and debug types.
 .TP
-.BI modules " <path>" 
+.BI modules " <path>"
 Provide gdb-friendly module information.
 
 .SH OPTIONS
 Provide gdb-friendly module information.
 
 .SH OPTIONS
-The following options can be used to invoke lctl. 
+The following options can be used to invoke lctl.
 .TP
 .TP
-.B --device 
+.B --device
 The device to be used for the operation. This can be specified by name or
 The device to be used for the operation. This can be specified by name or
-number. See 
+number. See
 .B device_list
 .TP
 .B device_list
 .TP
-.B --ignore_errors | ignore_errors 
+.B --ignore_errors | ignore_errors
 Ignore errors during script processing
 Ignore errors during script processing
+.TP
+.B lustre_build_version
+Output the build version of the Lustre kernel modules
+.TP
+.B --version
+Output the build version of the lctl utility
+.TP
+.B --list-commands
+Output a list of the commands supported by the lctl utility
+.TP
+.B help
+Provides brief help on the various arguments
+.TP
+.B exit/quit
+Quit the interactive lctl session
 
 .SH EXAMPLES
 # lctl
 
 .SH EXAMPLES
 # lctl
@@ -420,12 +428,39 @@ lctl > quit
 
 .SH AVAILABILITY
 .B lctl
 
 .SH AVAILABILITY
 .B lctl
-is part of the 
-.BR Lustre (7) 
+is part of the
+.BR lustre (7)
 filesystem package.
 .SH SEE ALSO
 filesystem package.
 .SH SEE ALSO
-.BR Lustre (7),
+.BR lustre (7),
 .BR mkfs.lustre (8),
 .BR mount.lustre (8),
 .BR lctl (8),
 .BR mkfs.lustre (8),
 .BR mount.lustre (8),
 .BR lctl (8),
+.BR lctl-barrier (8),
+.BR lctl-lcfg (8),
+.BR lctl-get_param (8),
+.BR lctl-lfsck-start (8),
+.BR lctl-lfsck-stop (8),
+.BR lctl-lfsck-query (8),
+.BR lctl-list_param (8),
+.BR lctl-set_param (8),
+.BR lctl-snapshot-create (8),
+.BR lctl-snapshot-destroy (8),
+.BR lctl-snapshot-modify (8),
+.BR lctl-snapshot-list (8),
+.BR lctl-snapshot-mount (8),
+.BR lctl-snapshot-umount (8),
+.BR lctl-llog_catlist (8),
+.BR lctl-llog_info (8),
+.BR lctl-llog_print (8),
+.BR lctl-network (8),
+.BR lctl-nodemap-activate (8),
+.BR lctl-nodemap-add-idmap (8),
+.BR lctl-nodemap-add-range (8),
+.BR lctl-nodemap-add (8),
+.BR lctl-nodemap-del-idmap (8),
+.BR lctl-nodemap-del-range (8),
+.BR lctl-nodemap-del (8),
+.BR lctl-nodemap-modify (8),
+.BR lctl-pcc (8),
 .BR lfs (1)
 .BR lfs (1)