X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=misc%2Fbadblocks.8.in;h=a5042e07c76d8f91ddbe1f50909b10b232968c8f;hb=855a77a19704ef7e0acd542cce19a6e8ee07582d;hp=c08b6be988041bfb130ea9dd34446aa0cb7ae4fa;hpb=7dc435082e384d9b2d15ab53aebcde53b4aa01ab;p=tools%2Fe2fsprogs.git diff --git a/misc/badblocks.8.in b/misc/badblocks.8.in index c08b6be..a5042e0 100644 --- a/misc/badblocks.8.in +++ b/misc/badblocks.8.in @@ -5,7 +5,7 @@ badblocks \- search a device for bad blocks .SH SYNOPSIS .B badblocks [ -.B \-svwn +.B \-svwnfBX ] [ .B \-b @@ -16,6 +16,14 @@ badblocks \- search a device for bad blocks .I blocks_at_once ] [ +.B \-e +.I max_bad_blocks +] +[ +.B \-d +.I read_delay_factor +] +[ .B \-i .I input_file ] @@ -27,36 +35,85 @@ badblocks \- search a device for bad blocks .B \-p .I num_passes ] +[ +.B \-t +.I test_pattern +] .I device -.IR blocks-count [ start-block ] +[ +.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 blocks-count -is the number of blocks on the device. +.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. +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 16. -Increasing this number will increase the efficiency of -.B badblocks -but also will increase its memory usage. -.B Badblocks -needs memory proportional to the number of blocks tested at once, in -read-only mode, proportional to twice that number in read-write mode, -and proportional to three times that number in non-destructive read-write -mode. If you set the number-of-blocks parameter to too high a value, +is the number of blocks which are tested at a time. The default is 64. +.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 +.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 +.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 -will exit almost immediately with an out-of-memory error "while allocating -buffers". If you set it too low, however, for a non-destructive-write-mode -test, then it's possble for questionable blocks on an unreliable -hard drive to be hidden by the effects of the hard disk track buffer. +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. @@ -74,6 +131,12 @@ option of 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 @@ -93,12 +156,32 @@ Default is 0, meaning .B badblocks will exit after the first pass. .TP -.B \-n -Use non-destructive read-write mode. -.TP .B \-s -Show the progress of the scan by writing out the block numbers as they -are checked. +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. @@ -107,15 +190,35 @@ Verbose mode. 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. +.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 an device containing an existing file system. +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. It is slower, but it will preserve your data. +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 . Current maintainer is @@ -123,8 +226,8 @@ Theodore Ts'o . Non-destructive read/write test implemented by David Beattie . .SH AVAILABILITY .B badblocks -is part of the e2fsprogs package and is available for anonymous -ftp from 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)