lctl-lcfg_erase.8 \
lctl-lcfg_fork.8 \
lctl-lfsck-query.8 \
+ lctl-lfsck_query.8 \
lctl-lfsck-start.8 \
+ lctl-lfsck_start.8 \
lctl-lfsck-stop.8 \
+ lctl-lfsck_stop.8 \
lctl-llog_cancel.8 \
lctl-llog_catlist.8 \
lctl-llog_info.8 \
-.TH LCTL-GET_PARAM 8 "2019-06-17" Lustre "configuration utilities"
+.TH LCTL-GET_PARAM 8 2024-08-13 Lustre "Lustre Configuration Utilities"
.SH NAME
lctl-get_param \- retrieve configuration parameters
.SH SYNOPSIS
-.B "\fBlctl get_param "
+.SY "lctl get_param"
.RB [ --classify | -F ]
.RB [ --header | -H ]
.RB [ --links | -l ]
.RB [ --only-name | -N ]
.RB [ --recursive | -R ]
.RB [ --yaml | -y ]
-.IR PARAM_PATH1 " " PARAM_PATH2 " ..."
+.IR PARAM_PATH1 " [" PARAM_PATH2 " ...]"
+.YS
.SH DESCRIPTION
Get the value of the named Lustre or LNet
-.I parameter
-on the local node. Parameter names consist of one or more components,
-separated by a '.' (period). Each component may be specified by plain text
+.I PARAMETER
+on the local node. Parameter names consist of one or more components,
+separated by a '.' (period). Each component may be specified by plain text
or by a wildcard in the
.BR glob (7)
-format. When wildcards are used, more than one parameter may match and
-be returned. Parameters are often, but not always, of the form
-.IR obd_name.obd_instance.parameter_name ,
+format.
+When wildcards are used, more than one parameter may match and be returned.
+Parameters are often, but not always, of the form
+.IR obd_name . obd_instance . parameter_name ,
where
.I obd_name
is one of the OBD object types, like
is the name of a Lustre device, like
.BR testfs-OST0000 ,
but may be a specific component, or contain wildcards to match some or all
-devices on the node. Many parameters are readable as a regular user, though
+devices on the node. Many parameters are readable as a regular user, though
some of them are accessible only by the root user for security or
implementation reasons.
.SH OPTIONS
.TP
-.B -F ", " --classify
-Append a '/', '@', or '=' suffix for directories, symlinks, and writeable
-parameters, respectively.
-.B "lctl get_param -NF"
+.BR -F ", " --classify
+Append a '/', '@', or '=' suffix for directories, symlinks,
+and writeable parameters, respectively.
+.B lctl get_param -NF
is equivalent to
.BR "lctl list_param -F" .
.TP
-.B -H ", " --header
-Prefix each parameter value line with the parameter name, as a header. It
-also print a line for empty values. It could be useful when wildcards are
-used and filtering the output.
+.BR -H ", " --header
+Prefix each parameter value line with the parameter name, as a header.
+It also print a line for empty values.
+It could be useful when wildcards are used and filtering the output.
.TP
-.B -l ", " --links
+.BR -l ", " --links
Follow symlinks while searching for parameters. (enabled by default)
.TP
-.B -L ", " --no-links
+.BR -L ", " --no-links
Do not follow symlinks while searching for parameters.
.TP
-.B -n ", " --no-name
-Print only the parameter value and not parameter name. This may be confusing
-if multiple parameter names are specified, as the parameters are not
-identified, and may not be returned in the order that they are specified.
+.BR -n ", " --no-name
+Print only the parameter value and not parameter name.
+This may be confusing if multiple parameter names are specified,
+as the parameters are not identified,
+and may not be returned in the order that they are specified.
.TP
-.B -N ", " --only-name
+.BR -N ", " --only-name
Print only matched parameter names and not the values. This is especially
useful when using patterns. This option is equivalent to
.BR "lctl list_param".
.TP
-.B -R ", " --recursive
+.BR -R ", " --recursive
Recursively show all of the parameter names below the specified name.
.TP
-.B -y ", " --yaml
-Some parameters can be presented in a YAML format but are not by default. This
+.BR -y ", " --yaml
+Some paramters can be presented in a YAML format but are not by default. This
will format the parameter data in YAML. If the YAML provides a source: field
it can be suppressed with the -n option.
-
.SH EXAMPLES
-.B $ lctl get_param osc.*.max_pages_per_rpc
-.br
+Use wildcards to obtain all matching parameters:
+.RS
+.EX
+.B # lctl get_param osc.*.max_pages_per_rpc
osc.myth-OST0000-osc-ffff8803c9c0f000.max_pages_per_rpc=1024
-.br
osc.myth-OST0001-osc-ffff8803c9c0f000.max_pages_per_rpc=1024
-.br
osc.testfs-OST0000-osc-ffff8803c9c0f000.max_pages_per_rpc=1024
-.br
osc.testfs-OST0001-osc-ffff8803c9c0f000.max_pages_per_rpc=1024
-.br
osc.testfs-OST0002-osc-ffff8803c9c0f000.max_pages_per_rpc=1024
-.br
-.B $ lctl get_param -n debug
-.br
-super warning dlmtrace error emerg rpctrace vfstrace config console
-.br
-.B $ lctl get_param {mdc,osc}.testfs-*.max_rpcs_in_flight
-.br
+.P
+.B # lctl get_param {mdc,osc}.testfs-*.max_rpcs_in_flight
mdc.testfs-MDT0000-mdc-ffff8803c9c0f000.max_rpcs_in_flight=16
-.br
osc.testfs-OST0000-osc-ffff8803c9c0f000.max_rpcs_in_flight=8
-.br
osc.testfs-OST0001-osc-ffff8803c9c0f000.max_rpcs_in_flight=8
-.br
osc.testfs-OST0002-osc-ffff8803c9c0f000.max_rpcs_in_flight=8
-.br
-.B $ lctl get_param -n devices
-.br
- 0 UP osd-ldiskfs MGS-osd MGS-osd_UUID 4
-.br
-.B $ lctl get_param -y devices
-.br
+.EE
+.RE
+.PP
+Use -n to obtain output that can be pipped into further commands:
+.RS
+.EX
+.B # lctl get_param -n debug
+super warning dlmtrace error emerg rpctrace vfstrace config console
+.P
+.B # lctl get_param -n devices
+0 UP osd-ldiskfs MGS-osd MGS-osd_UUID 4
+.EE
+.RE
+.PP
+Some parameters can be shown in a YAML format but require the
+.B -y
+option to do so:
+.RS
+.EX
+.B # lctl get_param -y devices
devices:
-.br
- index: 0
-.br
status: UP
-.br
type: osd-ldiskfs
-.br
name: MGS-osd
-.br
uuid: MGS-osd_UUID
-.br
refcount: 4
+.EE
+.RE
+.SH AVAILABILITY
+.B lctl get_param
+is part of the
+.BR lustre (7)
+filesystem package since release 1.7.0
+.\" Added in commit 1.6.1-673-g04af22fc24
.SH SEE ALSO
.BR lustre (7),
.BR lctl (8),
-.TH LCTL-LCFG_CLEAR 8 "2023-03-28" Lustre "configuration utilities"
+.TH LCTL-LCFG_CLEAR 8 2024-08-13 Lustre "Lustre Configuration Utilities"
.SH NAME
-lctl\-lcfg_clear \- clear filesystem config llog
+lctl-lcfg_clear \- clear filesystem config llog
.SH SYNOPSIS
-.br
-.B lctl lcfg_clear \fIFSNAME\fR|\fIDEVNAME
-.br
+.SY "lctl lcfg_clear"
+.IR FSNAME | DEVNAME
+.YS
.SH DESCRIPTION
.B lcfg_clear
(alias
.IR 'config.timestamp.bak' ,
such as
.IR 'testfs-MDT0000.1476454535.bak' .
-
.SH AVAILABILITY
.B lctl-lcfg_clear
is part of the
.BR lustre (7)
-filesystem package.
+filesystem package since release 2.11.0
+.\" Added in commit v2_10_58_0-78-g2a9518b1f8
.SH SEE ALSO
.BR lctl (8),
.BR lctl-lcfg_erase (8),
-.TH LCTL-LCFG_ERASE 8 "2023-03-28" Lustre "configuration utilities"
+.TH LCTL-LCFG_ERASE 8 2024-08-13 Lustre "Lustre Configuration Utilities"
.SH NAME
-lctl\-lcfg_erase \- erase filesystem config llog
+lctl-lcfg_erase \- erase filesystem config llog
.SH SYNOPSIS
-.BI "lctl lcfg_erase " FSNAME
+.SY "lctl lcfg_erase"
+.I FSNAME
+.YS
.SH DESCRIPTION
.B lcfg_erase
(alias
from a shared MGS. To see the available configuration logs, use
.B lctl
.BR llog_catlist .
-
.SH AVAILABILITY
.B lctl-lcfg_erase
is part of the
.BR lustre (7)
-filesystem package.
+filesystem package since release 2.10.0
+.\" Added in commit v2_9_54_0-28-g61718da8ba
.SH SEE ALSO
.BR lctl (8),
.BR lctl-lcfg_clear (8),
-.TH LCTL-FORK_LCFG 8 "2023-03-28" Lustre "configuration utilities"
+.TH LCTL-LCFG_FORK 8 2024-08-13 Lustre "Lustre Configuration Utilities"
.SH NAME
lctl-lcfg_fork \- duplicate and rename filesystem config llog
.SH SYNOPSIS
-.IR "\fBlctl lcfg_fork" " <" FSNAME "> <" NEWNAME >
+.SY "lctl lcfg_fork"
+.RI < FSNAME >
+.RI < NEWNAME >
+.YS
.SH DESCRIPTION
.B lcfg_fork
(alias
backup the system configuration, or generate configuration for the
snapshot that has the same configuration as the original filesystem
but with different filesystem names.
-
.SH AVAILABILITY
.B lctl-lcfg_fork
is part of the
.BR lustre (7)
-filesystem package.
+filesystem package since release 2.10.0
+.\" Added in commit v2_9_54_0-28-g61718da8ba
.SH SEE ALSO
.BR lctl (8),
.BR lctl-lcfg_clear (8),
-.TH LCTL-LFSCK_QUERY 8 "2017-05-13" Lustre "configuration utilities"
+.TH LCTL-LFSCK_QUERY 8 2024-08-13 Lustre "Lustre Configuration Utilities"
.SH NAME
lctl-lfsck_query \- get Lustre File System Check global status
.SH SYNOPSIS
-.br
-.B lctl lfsck_query \fR[-M | --device MDT_device] [-h | --help]
- \fR[-t | --type lfsck_type[,lfsck_type...]] [-w | --wait]
-.br
+.SY "lctl lfsck_query"
+.RB [ -M | --device
+.IR MDT_DEVICE ]
+.RB [ -h | --help ]
+.RB [ -t | --type
+.IR LFSCK_TYPE [, LFSCK_TYPE ...]]
+.RB [ -w | --wait ]
+.YS
.SH DESCRIPTION
Get the LFSCK global status via the specified MDT device. If "-M" option
is not specified, it will select the available Lustre device on current
server automatically. But if there are multiple devices on current server
those belong to different Lustre filesystems, you need to specify the
-device (see "-M" option) explicitly.
+device (see
+.RB " -M "
+option) explicitly.
.SH OPTIONS
.TP
-.B -M, --device <MDT_device>
+.BR -M ", " --device \ \fIMDT_DEVICE
Specify the MDT device on which the LFSCK runs or ever ran.
.TP
-.B -t, --type <lfsck_type[,lfsck_type...]>
+.BR -t ", " --type \ \fILFSCK_TYPE\fR[,\fILFSCK_TYPE\fR...]
Specify what kind(s) of LFSCK to be checked. If no type is given, the default
is to check all types of LFSCK status. Valid types are a comma-separated list
of one or more of: namespace, layout, all.
.TP
-.B -h, --help
+.BR -h ", " --help
Show this help.
.TP
-.B -w, --wait
+.BR -w ", " --wait
Do not return until there is no on-going LFSCK scanning on any target
associated with this filesystem (MDT or OST).
-
.SH AVAILABILITY
.B lctl-lfsck-query
is part of the
.BR lustre (7)
-filesystem package.
+filesystem package since release 2.9.0
+.\" Added in commit v2_8_50_0-22-g6871453b05
.SH SEE ALSO
.BR lctl (8),
.BR lctl-lfsck-start (8),
-.TH LCTL-LFSCK_START 8 "2017-05-13" Lustre "configuration utilities"
+.TH LCTL-LFSCK_START 8 2024-08-13 Lustre "Lustre Configuration Utilities"
.SH NAME
lctl-lfsck_start \- start online Lustre File System Check
.SH SYNOPSIS
-.br
-.B lctl lfsck_start \fR[-M | --device [MDT,OST]_device]
- \fR[-A | --all] [-c | --create-ostobj [on | off]]
- \fR[-C | --create-mdtobj [on | off]]
- \fR[-d | --delay-create-ostobj [on | off]]
- \fR[-e | --error <continue | abort>] [-h | --help]
- \fR[-n | --dryrun [on | off]] [-o | --orphan]
- \fR[-r | --reset] [-s | --speed speed_limit]
- \fR[-t | --type lfsck_type[,lfsck_type...]]
- \fR[-w | --window-size size]
-.br
+.SY "lctl lfsck_start"
+.RB [ -M | --device
+.RI { MDT , OST } _DEVICE ]
+.RB [ -A | --all ]
+.RB [ -c | --create-ostobj [ on | off ]]
+.RB [ -C | --create-mdtobj [ on | off ]]
+.RB [ -d | --delay-create-ostobj [ on | off ]]
+.RB [ -e | --error continue | abort ]
+.RB [ -h | --help ]
+.RB [ -n | --dryrun [ on | off ]]
+.RB [ -o | --orphan ]
+.RB [ -r | --reset ]
+.RB [ -s | --speed SPEED_LIMIT ]
+.RB [ -t | --type
+.IR LFSCK_TYPE [, LFSCK_TYPE ...]]
+.RB [ -w | --window-size SIZE ]
+.YS
.SH DESCRIPTION
Start LFSCK on the specified MDT or OST device with specified parameters.
.SH OPTIONS
.TP
-.B -M, --device <MDT,OST_device>
-The MDT or OST device to start LFSCK/scrub on. If "-M" option is not specified,
+.BR -M ", " --device " {"\fIMDT\fR,\fIOST\fR}\fI_DEVICE
+The MDT or OST device to start LFSCK/scrub on.
+If
+.RB " -M "
+option is not specified,
it will select the available Lustre device on current server automatically.
-But under the following cases you need to specify the device (see "-M" option)
-explicitly: if there are multiple devices on current server those belong to
-different Lustre filesystems, or if "-A" option is not specified and there are
-multiple devices on current server.
+But under the following cases you need to specify the device (see
+.RB " -M "
+option) explicitly:
+if there are multiple devices on current server those belong to
+different Lustre filesystems, or if
+.RB " -A "
+option is not specified and there are multiple devices on current server.
.TP
-.B -A, --all
+.BR -A ", " --all
Start LFSCK on all available devices in the system by single LFSCK command.
Such LFSCK command can be executed on any MDT device in the system.
.TP
-.B -c, --create-ostobj [on | off]
-Create the lost OST-object for dangling LOV EA: 'off' (default) or 'on'. Under
-default mode, when the LFSCK find some MDT-object with dangling reference, it
-will report the inconsistency but will not repair it. If 'on' is given, then
-LFSCK will re-create the missed OST-object.
+.BR -c ", " --create-ostobj " [" on | off ]
+Create the lost OST-object for dangling LOV EA: 'off' (default) or 'on'.
+Under default mode, when the LFSCK find some MDT-object with dangling reference,
+it will report the inconsistency but will not repair it.
+If 'on' is given, then LFSCK will re-create the missed OST-object.
.TP
-.B -C, --create-mdtobj [on | off]
+.BR -C ", " --create-mdtobj " [" on | off ]
Create the lost MDT-object for dangling name entry: 'off' (default) or 'on'.
-Under default mode, when the LFSCK find dangling name entry, it will report
-the inconsistency but will not repair it. If 'on' is given, then LFSCK will
-re-create the missed MDT-object.
+Under default mode, when the LFSCK find dangling name entry,
+it will report the inconsistency but will not repair it.
+If 'on' is given, then LFSCK will re-create the missed MDT-object.
.TP
-.B -d, --delay-create-ostobj [on | off]
-Delay to create the lost OST-object for dangling LOV EA until orphan OST-objects
-handled: 'off' (default) or 'on'. If both "--create-ostobj" and the delay option
-are 'on', then the LFSCK will NOT create the OST-object to repair dangling LOV
-EA unless all the OST-objects have been handled. It can avoid repairing dangling
-LOV EA incorrectly because of LOV EA corruption. The side-effect is that as long
-as one OST does not join the layout LFSCK or fail to complete the scanning, then
-repairing dangling LOV EA will be skipped. For a large system with a lot of OSTs,
-such condition may be a bit strict. The default value is 'off'.
+.BR -d ", " --delay-create-ostobj " [" on | off ]
+Delay to create the lost OST-object for dangling LOV EA
+until orphan OST-objects handled: 'off' (default) or 'on'. If both
+.BR " --create-ostobj "
+and the delay option are 'on',
+then the LFSCK will NOT create the OST-object to repair dangling LOV EA
+unless all the OST-objects have been handled.
+It can avoid reparing dangling LOV EA incorrectly because of LOV EA corruption.
+The side-effect is that as long as one OST does not join the layout LFSCK
+or fail to complete the scanning, then reparing dangling LOV EA will be skipped.
+For a large system with a lot of OSTs, such condition may be a bit strict.
+The default value is 'off'.
.TP
-.B -e, --error <error_handle>
-With error_handle as 'abort' then if the repair of a file is not possible, then
-LFSCK will save the current position stop with an error. Otherwise the default
-behavior is to 'continue' if the repair of a file is not possible.
+.BR -e ", " --error \ \fIERROR_HANDLE
+With error_handle as 'abort' then if the repair of a file is not possible,
+then LFSCK will save the current position stop with an error.
+Otherwise the default behavior is to 'continue'
+if the repair of a file is not possible.
.TP
-.B -h, --help
+.BR -h ", " --help
Show the usage message.
.TP
-.B -n, --dryrun [on | off]
+.BR -n ", " --dryrun " [" on | off ]
Perform a trial run with no changes made, if 'on' or no argument is given.
Default is 'off', meaning that any inconsistencies found will be repaired.
.TP
-.B -o, --orphan
+.BR -o ", " --orphan
Handle orphan objects, such as orphan OST-objects for layout LFSCK by
linking them under the .../.lustre/lost+found directory.
.TP
-.B -r, --reset
-Set the current position of object iteration to the beginning of the specified
-device. The non-specified parameters will also be reset to the default. By
-default the iterator will resume the scanning from the last saved checkpoint
-position, and other unspecified parameters will be the same as the prior
-incomplete run.
+.BR -r ", " --reset
+Set the current position of object iteration
+to the beginning of the specified device.
+The non-specified parameters will also be reset to the default.
+By default the iterator will resume the scanning
+from the last saved checkpoint position,
+and other unspecified parameters will be the same as the prior incomplete run.
.TP
-.B -s, --speed <speed_limit>
+.BR -s ", " --speed \ \fISPEED_LIMIT
Set the upper limit of LFSCK processing in objects per second to reduce load
-on the servers and storage. If no value is specified the saved value is used
-(if resuming from a checkpoint). Otherwise the default value of 0 is used,
+on the servers and storage.
+If no value is specified the saved value is used
+(if resuming from a checkpoint).
+Otherwise the default value of 0 is used,
which means check the filesystem as quickly as possible.
.TP
-.B -t, --type <lfsck_type[,lfsck_type...]>
-The type of LFSCK checking/repair to execute. If no type is given and the
-previous run was incomplete or internal consistency checks detected an error,
-then the same types are used for the next run. Otherwise, the default is to
-check all types of consistency. Any time LFSCK is triggered on an ldiskfs
-MDT or OST then OI Scrub is run. Valid types are a comma-separated list of one or more of:
+.BR -t ", " --type \ \fILFSCK_TYPE\fR[,\fILFSCK_TYPE\fR...]
+The type of LFSCK checking/repair to execute.
+If no type is given and the previous run was incomplete
+or internal consistency checks detected an error,
+then the same types are used for the next run.
+Otherwise, the default is to check all types of consistency.
+Any time LFSCK is triggered on an ldiskfs MDT or OST then OI Scrub is run.
+Valid types are a comma-separated list of one or more of:
.B scrub
to run only the local OI Scrub on ldiskfs targets,
.B namespace
.B all
to run all of the available check types.
.TP
-.B -w, --window-size <size>
+.BR -w ", " --window-size \ \fISIZE
Specifies the maximum number of in-flight request being processed at
-one time. This controls the load placed on remote OSTs when running
+one time. This controls the load placed on remote OSTs when running
.B layout
-checks. By default there are at most 1024 outstanding requests.
-
+checks. By default there are at most 1024 outstanding requests.
.SH AVAILABILITY
.B lctl-lfsck-start
is part of the
.BR lustre (7)
-filesystem package.
+filesystem package since release 2.3.0
+.\" Added in commit v2_2_59_0-40-g7cecfcffae
.SH SEE ALSO
.BR lctl (8),
-.BR lctl-lfsck-stop (8),
-.BR lctl-lfsck-query (8)
+.BR lctl-lfsck-query (8),
+.BR lctl-lfsck-stop (8)
-.TH LCTL-LFSCK_STOP 8 "2017-05-13" Lustre "configuration utilities"
+.TH LCTL-LFSCK_STOP 8 2024-08-13 Lustre "Lustre Configuration Utilities"
.SH NAME
lctl-lfsck_stop \- stop the online Lustre File System Check
.SH SYNOPSIS
-.br
-.B lctl lfsck_stop \fR[-M | --device [MDT,OST]_device] [-A | --all] [-h | --help]
-.br
+.SY "lctl lfsck_stop"
+.RB [ -M | --device
+.RI { MDT , OST } _DEVICE ]
+.RB [ -A | --all ]
+.RB [ -h | --help ]
+.YS
.SH DESCRIPTION
Stop LFSCK on the specified MDT or OST device.
.SH OPTIONS
.TP
-.B -M, --device <[MDT,OST]_device>
-The MDT or OST device to stop LFSCK/scrub on. If "-M" option is not specified,
+.BR -M ", " --device " {"\fIMDT\fR,\fIOST\fR}\fI_DEVICE
+The MDT or OST device to stop LFSCK/scrub on. If
+.RB " -M "
+option is not specified,
it will select the available Lustre device on current server automatically.
But under the following cases you need to specify the device (see "-M" option)
explicitly: if there are multiple devices on current server those belong to
-different Lustre filesystems, or if "-A" option is not specified and there are
-multiple devices on current server.
+different Lustre filesystems, or if
+.RB " -A "
+option is not specified and there are multiple devices on current server.
.TP
-.B -A, --all
+.BR -A ", " --all
Stop LFSCK on all available devices in the system by single LFSCK command.
Such LFSCK command can be executed on any MDT device in the system.
.TP
-.B -h, --help
+.BR -h ", " --help
Show this help.
-
.SH AVAILABILITY
.B lctl-lfsck-stop
is part of the
.BR lustre (7)
-filesystem package.
+filesystem package since release 2.3.0
+.\" Added in commit v2_2_59_0-40-g7cecfcffae
.SH SEE ALSO
.BR lctl (8),
-.BR lctl-lfsck-start (8),
-.BR lctl-lfsck-query (8)
+.BR lctl-lfsck-query (8),
+.BR lctl-lfsck-start (8)
--- /dev/null
+.so man8/lctl-lfsck-query.8
--- /dev/null
+.so man8/lctl-lfsck-start.8
--- /dev/null
+.so man8/lctl-lfsck-stop.8