--- /dev/null
+.TH lctl-lfsck-stop 8 "2016 Apr 1" Lustre "Lustre online fsck"
+.SH SYNOPSIS
+.br
+.B lctl lfsck_query \fR<-M | --device MDT_device> [-h | --help]
+ \fR[-t | --type lfsck_type[,lfsck_type...]] [-w | --wait]
+.br
+.SH DESCRIPTION
+Get the LFSCK global status via the specified MDT device.
+.SH OPTIONS
+.TP
+.B -M, --device <MDT_device>
+Specify the MDT device on which the LFSCK runs or ever ran.
+.TP
+.B -t, --type <lfsck_type[,lfsck_type...]>
+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
+Show this help.
+.TP
+.B -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
+is part of the
+.BR Lustre (7)
+filesystem package.
+.SH SEE ALSO
+.BR lustre (7),
+.BR lctl-lfsck-start (8),
+.BR lctl-lfsck-stop (8)
--- /dev/null
+.TH lctl-lfsck-start 8 "2016 Apr 1" Lustre "Lustre online fsck"
+.SH SYNOPSIS
+.br
+.B lctl lfsck_start \fR<-M | --device [MDT,OST]_device>
+ \fR[-A | --all] [-c | --create-ostobj [on | off]]
+ \fR[-C | --create-mttobj [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
+.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.
+.TP
+.B -A, --all
+Start LFSCK on all nodes via the specified MDT device (see "-M" option) by
+single LFSCK command.
+.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.
+.TP
+.B -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.
+.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.
+.TP
+.B -h, --help
+Show the usage message.
+.TP
+.B -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
+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.
+.TP
+.B -s, --speed <speed_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,
+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:
+.B scrub
+to run only the local OI Scrub on ldiskfs targets,
+.B namespace
+for FID-in-dirent and linkEA checking on the MDT(s),
+.B layout
+for MDT-OST cross-reference consistency, and
+.B all
+to run all of the available check types.
+.TP
+.B -w, --window-size <size>
+Specifies the maximum number of in-flight request being processed at
+one time. This controls the load placed on remote OSTs when running
+.B layout
+checks. By default there are at most 1024 outstanding requests.
+
+.SH AVAILABILITY
+.B lctl
+is part of the
+.BR Lustre (7)
+filesystem package.
+.SH SEE ALSO
+.BR lustre (7),
+.BR lctl-lfsck-stop (8),
+.BR lctl-lfsck-query (8)
--- /dev/null
+.TH lctl-lfsck-stop 8 "2016 Apr 1" Lustre "Lustre online fsck"
+.SH SYNOPSIS
+.br
+.B lctl lfsck_stop \fR<-M | --device [MDT,OST]_device> [-A | --all] [-h | --help]
+.br
+.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.
+.TP
+.B -A, --all
+Stop LFSCK on all nodes via the specified MDT device (see "-M" option) by
+single LFSCK command.
+.TP
+.B -h, --help
+Show this help.
+
+.SH AVAILABILITY
+.B lctl
+is part of the
+.BR Lustre (7)
+filesystem package.
+.SH SEE ALSO
+.BR lustre (7),
+.BR lctl-lfsck-start (8),
+.BR lctl-lfsck-query (8)
.RE
.SS LFSCK
-An on-line Lustre consistency check and repair tool.
-.TP
-.B lfsck_start \fR<-M | --device [MDT,OST]_device>
- \fR[-A | --all] [-c | --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
+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.
-.TP
- -M, --device <MDT,OST_device>
-The MDT or OST device to start LFSCK/scrub on.
-.TP
- -A, --all
-Start LFSCK on all available MDT devices.
-.TP
- -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
- -e, --error <error_handle>
-With error_handle as 'abort' then if a repair is impossible LFSCK will save
-the current position stop with an error. Otherwise the default behavior is
-to 'continue' if a repair is impossible.
-.TP
- -h, --help
-Show the usage message.
-.TP
- -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
- -o, --orphan
-Handle orphan objects, such as orphan OST-objects for layout LFSCK by
-linking them under the .../.lustre/lost+found directory.
-.TP
- -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
- -s, --speed <speed_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,
-which means check the filesystem as quickly as possible.
-.TP
- -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
-.B scrub
-to run only the local OI Scrub on ldiskfs targets,
-.B namespace
-for FID-in-dirent and linkEA checking on the MDT(s),
-.B layout
-for MDT-OST cross-reference consistency, and
-.B all
-to run all of the available check types.
-.TP
- -w, --window_size <size>
-Specifies the maximum number of in-flight request being processed at
-one time. This controls the load placed on remote OSTs when running
-.B layout
-checks. By default there are at most 1024 outstanding requests.
-.TP
-.B lfsck_stop \fR<-M | --device [MDT,OST]_device> [-A | --all] [-h | --help]
+.RE
+.PP
+\fBlctl-lfsck-stop\fR(8)
+.RS 4
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.
-.TP
-.B lfsck_query \fR<-M | --device MDT_device> [-h | --help]
- \fR[-t | --type lfsck_type[,lfsck_type...]] [-w | --wait]
-.br
+.RE
+.PP
+\fBlctl-lfsck-query\fR(8)
+.RS 4
Get the LFSCK global status via the specified MDT device.
-.TP
- -M, --device <MDT_device>
-Specify the MDT device on which the LFSCK runs or ever ran.
-.TP
- -t, --type <lfsck_type[,lfsck_type...]>
-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
- -h, --help
-Show this help.
-.TP
- -w, --wait
-Do not return until there is no on-going LFSCK scanning on any target
-associated with this filesystem (MDT or OST).
+.RE
.SS Debug
.TP
.BI debug_daemon
{"==== 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 [on | off]]\n"
- " [-C | --create_mdtobj [on | off]]\n"
+ " [-A | --all] [-c | --create-ostobj [on | off]]\n"
+ " [-C | --create-mdtobj [on | off]]\n"
" [-e | --error {continue | abort}] [-h | --help]\n"
" [-n | --dryrun [on | off]] [-o | --orphan]\n"
" [-r | --reset] [-s | --speed speed_limit]\n"
" [-t | --type lfsck_type[,lfsck_type...]]\n"
- " [-w | --window_size size]"},
+ " [-w | --window-size size]"},
{"lfsck_stop", jt_lfsck_stop, 0, "stop lfsck(s)\n"
"usage: lfsck_stop <-M | --device [MDT,OST]_device>\n"
" [-A | --all] [-h | --help]"},
{"device", required_argument, 0, 'M'},
{"all", no_argument, 0, 'A'},
{"create_ostobj", optional_argument, 0, 'c'},
+ {"create-ostobj", optional_argument, 0, 'c'},
{"create_mdtobj", optional_argument, 0, 'C'},
+ {"create-mdtobj", optional_argument, 0, 'C'},
{"error", required_argument, 0, 'e'},
{"help", no_argument, 0, 'h'},
{"dryrun", optional_argument, 0, 'n'},
{"speed", required_argument, 0, 's'},
{"type", required_argument, 0, 't'},
{"window_size", required_argument, 0, 'w'},
+ {"window-size", required_argument, 0, 'w'},
{0, 0, 0, 0 }
};
" [-w | --window_size size]\n"
"options:\n"
"-M: device to start LFSCK/scrub on\n"
- "-A: start LFSCK on all MDT devices\n"
+ "-A: start LFSCK on all nodes via the specified MDT device "
+ "(see \"-M\" option) by single LFSCK command\n"
"-c: create the lost OST-object for dangling LOV EA "
"(default 'off', or 'on')\n"
"-C: create the lost MDT-object for dangling name entry "
" [-A | --all] [-h | --help]\n"
"options:\n"
"-M: device to stop LFSCK/scrub on\n"
- "-A: stop LFSCK on all MDT devices\n"
+ "-A: stop LFSCK on all nodes via the specified MDT device "
+ "(see \"-M\" option) by single LFSCK command\n"
"-h: this help message\n");
}