.\" -*- nroff -*-
.TH BADBLOCKS 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
.SH NAME
badblocks \- search a device for bad blocks
.SH SYNOPSIS
.B badblocks
[
.B \-svwnfBX
]
[
.B \-b
.I block_size
]
[
.B \-c
.I blocks_at_once
]
[
.B \-d
.I read_delay_factor
]
[
.B \-e
.I max_bad_blocks
]
[
.B \-i
.I input_file
]
[
.B \-o
.I output_file
]
[
.B \-p
.I num_passes
]
[
.B \-t
.I test_pattern
]
.I device
[
.I last_block
] [
.I first_block
]
.SH DESCRIPTION
.B badblocks
is used to search for bad blocks on a device (usually a disk partition).
.I 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 first_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
.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
.BI \-d " read delay factor"
This parameter, if passed and non-zero, will cause bad blocks to sleep
between reads if there were no errors encountered in the read
operation; the delay will be calculated as a percentage of the time it
took for the read operation to be performed. In other words, a value of
100 will cause each read to be delayed by the amount the previous read
took, and a value of 200 by twice the amount.
.TP
.BI \-e " max bad block count"
Specify a maximum number of bad blocks before aborting the test.  The
default is 0, meaning the test will continue until the end of the test
range is reached.
.TP
.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
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
.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
.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
.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
.B \-s
Show the progress of the scan by writing out rough percentage completion
of the current badblocks pass over the disk.  Note that badblocks may do
multiple test passes over the disk, in particular if the
.B \-p
or
.B \-w
option is requested by the user.
.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 one pattern
before proceeding to the next pattern.
.TP
.B \-v
Verbose mode.  Will write the number of read errors, write errors and data-
corruptions to stderr.
.TP
.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.
This option may not be combined with the
.B \-n
option, as they are mutually exclusive.
.TP
.B \-B
Use buffered I/O and do not use Direct I/O, even if it is available.
.TP
.B \-X
Internal flag only to be used by
.BR e2fsck (8)
and
.BR mke2fs (8).
It bypasses the exclusive mode in-use device safety check.
.SH WARNING
Never use the
.B \-w
option on a 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.
.PP
The
.B \-e
option will cause badblocks to output a possibly incomplete list of
bad blocks. Therefore it is recommended to use it only when one wants
to know if there are any bad blocks at all on the device, and not when
the list of bad blocks is wanted.
.SH AUTHOR
.B badblocks
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 part of the e2fsprogs package and is available from
http://e2fsprogs.sourceforge.net.
.SH SEE ALSO
.BR e2fsck (8),
.BR mke2fs (8)
