Whamcloud - gitweb
Fix typo'ed version number in Debian changelog
[tools/e2fsprogs.git] / misc / badblocks.8.in
index a9eacd8..29bd348 100644 (file)
@@ -5,69 +5,186 @@ badblocks \- search a device for bad blocks
 .SH SYNOPSIS
 .B badblocks
 [
+.B \-svwnf
+]
+[
 .B \-b
-block-size
+.I block-size
+]
+[
+.B \-c
+.I blocks_at_once
+]
+[
+.B \-i
+.I input_file
 ]
 [
 .B \-o
-output_file
+.I output_file
 ]
 [
-.B \-s
+.B \-p
+.I num_passes
 ]
 [
-.B \-v
+.B \-t
+.I test_pattern
 ]
+.I device
 [
-.B \-w
+.I last-block
+] [
+.I start-block 
 ]
-device
-blocks-count [ start-block ]
 .SH DESCRIPTION
 .B badblocks
 is used to search for bad blocks on a device (usually a disk partition).
-.br
 .I device
-is the special file corresponding to the device (e.g /dev/hdXX).
-.br
-.I blocks-count
-is the number of blocks on the device.
+is the special file corresponding to the device (e.g
+.IR /dev/hdc1 ).
+.I last-block
+is the last block to be checked; if it is not specified, the last block
+on the device is used as a default.
+.I start-block
+is an optional parameter specifying the starting block number
+for the test, which allows the testing to start in the middle of the
+disk.  If it is not specified the first block on the disk is used as a default.
+.PP
+.B Important note:
+If the output of 
+.B badblocks
+is going to be fed to the
+.B e2fsck
+or 
+.B mke2fs
+programs, it is important that the block size is properly specified,
+since the block numbers which are generated are very dependent on the 
+block size in use by the filesystem.   
+For this reason, it is strongly recommended that
+users 
+.B not
+run 
+.B badblocks 
+directly, but rather use the 
+.B \-c
+option of the
+.B e2fsck
+and 
+.B mke2fs
+programs.
 .SH OPTIONS
 .TP
-.I -b block-size
-Specify the size of blocks in bytes.
+.BI \-b " block-size"
+Specify the size of blocks in bytes.  The default is 1024.
+.TP
+.BI \-c " number of blocks"
+is the number of blocks which are tested at a time.  The default is 64.
 .TP
-.I -o output_file
-Write the list of bad blocks to the specified file. Without this option,
+.B \-f
+Normally, badblocks will refuse to do a read/write or a non-destructive
+test on a device which is mounted, since either can cause the system to
+potentially crash and/or damage the filesystem even if it is mounted
+read-only.  This can be overridden using the
+.B \-f
+flag, but should almost never be used --- if you think you're smarter
+than the 
 .B badblocks
-displays the list on its standard output.
+program, you almost certainly aren't.  The only time when this option 
+might be safe to use is if the /etc/mtab file is incorrect, and the device
+really isn't mounted.
 .TP
-.I -s
+.BI \-i " input_file"
+Read a list of already existing known bad blocks.
+.B Badblocks
+will skip testing these blocks since they are known to be bad.  If
+.I input_file
+is specified as "-", the list will be read from the standard input.
+Blocks listed in this list will be omitted from the list of
+.I new
+bad blocks produced on the standard output or in the output file.
+The
+.B \-b
+option of
+.BR dumpe2fs (8)
+can be used to retrieve the list of blocks currently marked bad on
+an existing filesystem, in a format suitable for use with this option.
+.TP
+.BI \-o " output_file"
+Write the list of bad blocks to the specified file.  Without this option,
+.B badblocks
+displays the list on its standard output.  The format of this file is suitable
+for use by the
+.
+.B \-l
+option in 
+.BR e2fsck (8)
+or
+.BR mke2fs (8).
+.TP
+.BI \-p " num_passes"
+Repeat scanning the disk until there are no new blocks discovered in
+num_passes consecutive scans of the disk.
+Default is 0, meaning
+.B badblocks
+will exit after the first pass.
+.TP
+.BI \-t " test_pattern"
+Specify a test pattern to be read (and written) to disk blocks.   The
+.I test_pattern
+may either be a numeric value between 0 and ULONG_MAX-1 inclusive, or the word 
+"random", which specifies that the block should be filled with a random
+bit pattern.
+For read/write (\fB-w\fR) and non-destructive (\fB-n\fR) modes,
+one or more test patterns may be specified by specifying the
+.B -t
+option for each test pattern desired.  For
+read-only mode only a single pattern may be specified and it may not be
+"random".  Read-only testing with a pattern assumes that the
+specified pattern has previously been written to the disk - if not, large
+numbers of blocks will fail verification.  
+If multiple patterns
+are specified then all blocks will be tested with an one pattern 
+before proceeding to the next pattern.
+.TP
+.B \-n
+Use non-destructive read-write mode.  By default only a non-destructive 
+read-only test is done.  This option must not be combined with the 
+.B \-w
+option, as they are mutually exclusive.
+.TP
+.B \-s
 Show the progress of the scan by writing out the block numbers as they
 are checked.
 .TP
-.-v
+.B \-v
 Verbose mode.
 .TP
-.-w
+.B \-w
 Use write-mode test. With this option,
 .B badblocks
 scans for bad blocks by writing some patterns (0xaa, 0x55, 0xff, 0x00) on
-every block of the device, reading every block and comparing the contents.
+every block of the device, reading every block and comparing the contents.  
+This option may not be combined with the 
+.B \-n 
+option, as they are mutually exclusive.
 .SH WARNING
-Never use the `-w' option on an device containing an existing file system.
-This option erases data!
+Never use the
+.B \-w
+option on an device containing an existing file system.
+This option erases data!  If you want to do write-mode testing on
+an existing file system, use the
+.B \-n
+option instead.  It is slower, but it will preserve your data.  
 .SH AUTHOR
 .B badblocks
-was written by Remy Card <card@masi.ibp.fr>, the developer and maintainer
-of the ext2 fs.
-.SH BUGS
-I had no chance to make real tests of this program since I use IDE drives,
-which remap bad blocks. I only made some tests on floppies.
+was written by Remy Card <Remy.Card@linux.org>.  Current maintainer is
+Theodore Ts'o <tytso@alum.mit.edu>.  Non-destructive read/write test
+implemented by David Beattie <dbeattie@softhome.net>.
 .SH AVAILABILITY
 .B badblocks
-is available for anonymous ftp from ftp.ibp.fr and tsx-11.mit.edu in
-/pub/linux/packages/ext2fs.
+is part of the e2fsprogs package and is available from 
+http://e2fsprogs.sourceforge.net.
 .SH SEE ALSO
 .BR e2fsck (8),
 .BR mke2fs (8)