X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=e2fsck%2Fe2fsck.8.in;h=dc6a5856a2d1de272763265115e43ec9d07581de;hb=5cfdceb4909d9ee6ac2502b83215fb71f5077e06;hp=53c473eb6b3de6e96acdd9ab48a3810bf214152f;hpb=a70f10dbc493c4eae488cadd8512e873220037d9;p=tools%2Fe2fsprogs.git diff --git a/e2fsck/e2fsck.8.in b/e2fsck/e2fsck.8.in index 53c473e..dc6a585 100644 --- a/e2fsck/e2fsck.8.in +++ b/e2fsck/e2fsck.8.in @@ -1,10 +1,10 @@ .\" -*- nroff -*- .\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved. .\" This file may be copied under the terms of the GNU Public License. -.\" +.\" .TH E2FSCK 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@" .SH NAME -e2fsck \- check a Linux ext2/ext3 file system +e2fsck \- check a Linux ext2/ext3/ext4 file system .SH SYNOPSIS .B e2fsck [ @@ -34,96 +34,110 @@ e2fsck \- check a Linux ext2/ext3 file system .B \-E .I extended_options ] +[ +.B \-z +.I undo_file +] .I device .SH DESCRIPTION .B e2fsck -is used to check a Linux second extended file system (ext2fs). -.B E2fsck -also -supports ext2 filesystems containing a journal, which are -also sometimes known as ext3 filesystems, by first applying the journal -to the filesystem before continuing with normal -.B e2fsck -processing. After the journal has been applied, a filesystem will -normally be marked as clean. Hence, for ext3 filesystems, +is used to check the ext2/ext3/ext4 family of file systems. +For ext3 and ext4 file systems that use a journal, if the system has been +shut down uncleanly without any errors, normally, after replaying the +committed transactions in the journal, the file system should be +marked as clean. Hence, for file systems that use journaling, .B e2fsck -will normally run the journal and exit, unless its superblock +will normally replay the journal and exit, unless its superblock indicates that further checking is required. .PP .I device -is the device file where the filesystem is stored (e.g. -.IR /dev/hdc1 ). +is a block device (e.g., +.IR /dev/sdc1 ) +or file containing the file system. .PP Note that in general it is not safe to run .B e2fsck -on mounted filesystems. The only exception is if the +on mounted file systems. The only exception is if the .B \-n -option is specified, and -.BR \-c , +option is specified, and +.BR \-c , .BR \-l , or .B -L -options are +options are .I not specified. However, even if it is safe to do so, the results printed by .B e2fsck -are not valid if the filesystem is mounted. If +are not valid if the file system is mounted. If .B e2fsck -asks whether or not you should check a filesystem which is mounted, +asks whether or not you should check a file system which is mounted, the only correct answer is ``no''. Only experts who really know what they are doing should consider answering this question in any other way. +.PP +If +.B e2fsck +is run in interactive mode (meaning that none of +.BR \-y , +.BR \-n , +or +.BR \-p +are specified), the program will ask the user to fix each problem found in the +file system. A response of 'y' will fix the error; 'n' will leave the error +unfixed; and 'a' will fix the problem and all subsequent problems; pressing +Enter will proceed with the default response, which is printed before the +question mark. Pressing Control-C terminates e2fsck immediately. .SH OPTIONS .TP -.B \-a -This option does the same thing as the +.B \-a +This option does the same thing as the .B \-p option. It is provided for backwards compatibility only; it is -suggested that people use -.B \-p +suggested that people use +.B \-p option whenever possible. .TP .BI \-b " superblock" Instead of using the normal superblock, use an alternative superblock -specified by +specified by .IR superblock . This option is normally used when the primary superblock has been -corrupted. The location of the backup superblock is dependent on the -filesystem's blocksize. For filesystems with 1k blocksizes, a backup -superblock can be found at block 8193; for filesystems with 2k -blocksizes, at block 16384; and for 4k blocksizes, at block 32768. +corrupted. The location of backup superblocks is dependent on the +file system's blocksize, the number of blocks per group, and features +such as +.BR sparse_super . .IP -Additional backup superblocks can be determined by using the -.B mke2fs -program using the +Additional backup superblocks can be determined by using the +.B mke2fs +program using the .B \-n -option to print out where the superblocks were created. The -.B \-b -option to -.BR mke2fs , -which specifies blocksize of the filesystem must be specified in order -for the superblock locations that are printed out to be accurate. +option to print out where the superblocks exist, supposing +.B mke2fs +is supplied with arguments that are consistent with the file system's layout +(e.g. blocksize, blocks per group, +.BR sparse_super , +etc.). .IP -If an alternative superblock is specified and -the filesystem is not opened read-only, e2fsck will make sure that the -primary superblock is updated appropriately upon completion of the -filesystem check. +If an alternative superblock is specified and +the file system is not opened read-only, e2fsck will make sure that the +primary superblock is updated appropriately upon completion of the +file system check. .TP .BI \-B " blocksize" -Normally, +Normally, .B e2fsck will search for the superblock at various different block sizes in an attempt to find the appropriate block size. -This search can be fooled in some cases. This option forces +This search can be fooled in some cases. This option forces .B e2fsck to only try locating the superblock at a particular blocksize. -If the superblock is not found, -.B e2fsck +If the superblock is not found, +.B e2fsck will terminate with a fatal error. .TP .B \-c -This option causes -.B e2fsck -to use +This option causes +.B e2fsck +to use .BR badblocks (8) program to do a read-only scan of the device in order to find any bad blocks. If any bad blocks are found, they are added to the bad block @@ -134,9 +148,9 @@ using a non-destructive read-write test. .BI \-C " fd" This option causes .B e2fsck -to write completion information to the specified file descriptor -so that the progress of the filesystem -check can be monitored. This option is typically used by programs +to write completion information to the specified file descriptor +so that the progress of the file system +check can be monitored. This option is typically used by programs which are running .BR e2fsck . If the file descriptor number is negative, then absolute value of @@ -144,7 +158,7 @@ the file descriptor will be used, and the progress information will be suppressed initially. It can later be enabled by sending the .B e2fsck process a SIGUSR1 signal. -If the file descriptor specified is 0, +If the file descriptor specified is 0, .B e2fsck will print a completion bar as it goes about its business. This requires that e2fsck is running on a video console or terminal. @@ -154,10 +168,10 @@ Print debugging output (useless unless you are debugging .BR e2fsck ). .TP .B \-D -Optimize directories in filesystem. This option causes e2fsck to -try to optimize all directories, either by reindexing them if the -filesystem supports directory indexing, or by sorting and compressing -directories for smaller directories, or for filesystems using +Optimize directories in file system. This option causes e2fsck to +try to optimize all directories, either by re-indexing them if the +file system supports directory indexing, or by sorting and compressing +directories for smaller directories, or for file systems using traditional linear directories. .IP Even without the @@ -169,7 +183,7 @@ directory indexing is enabled and a directory is not indexed and would benefit from being indexed, or if the index structures are corrupted and need to be rebuilt. The .B \-D -option forces all directories in the filesystem to be optimized. This can +option forces all directories in the file system to be optimized. This can sometimes make them a little smaller and slightly faster to search, but in practice, you should rarely need to use this option. .IP @@ -180,96 +194,169 @@ directory, which e2fsck normally does not enforce for performance reasons. .TP .BI \-E " extended_options" Set e2fsck extended options. Extended options are comma -separated, and may take an argument using the equals ('=') sign. The +separated, and may take an argument using the equals ('=') sign. The following options are supported: .RS 1.2i .TP .BI ea_ver= extended_attribute_version -Assume the format of the extended attribute blocks in the filesystem is -the specified version number. The version number may be 1 or 2. The -default extended attribute version format is 2. +Set the version of the extended attribute blocks which +.B e2fsck +will require while checking the file system. The version number may +be 1 or 2. The default extended attribute version format is 2. +.TP +.BI journal_only +Only replay the journal if required, but do not perform any further checks +or repairs. +.TP +.BI fragcheck +During pass 1, print a detailed report of any discontiguous blocks for +files in the file system. +.TP +.BI discard +Attempt to discard free blocks and unused inode blocks after the full +file system check (discarding blocks is useful on solid state devices and sparse +/ thin-provisioned storage). Note that discard is done in pass 5 AFTER the +file system has been fully checked and only if it does not contain recognizable +errors. However there might be cases where +.B e2fsck +does not fully recognize a problem and hence in this case this +option may prevent you from further manual data recovery. +.TP +.BI nodiscard +Do not attempt to discard free blocks and unused inode blocks. This option is +exactly the opposite of discard option. This is set as default. +.TP +.BI no_optimize_extents +Do not offer to optimize the extent tree by eliminating unnecessary +width or depth. This can also be enabled in the options section of +.BR /etc/e2fsck.conf . +.TP +.BI optimize_extents +Offer to optimize the extent tree by eliminating unnecessary +width or depth. This is the default unless otherwise specified in +.BR /etc/e2fsck.conf . +.TP +.BI inode_count_fullmap +Trade off using memory for speed when checking a file system with a +large number of hard-linked files. The amount of memory required is +proportional to the number of inodes in the file system. For large file +systems, this can be gigabytes of memory. (For example, a 40TB file system +with 2.8 billion inodes will consume an additional 5.7 GB memory if this +optimization is enabled.) This optimization can also be enabled in the +options section of +.BR /etc/e2fsck.conf . +.TP +.BI no_inode_count_fullmap +Disable the +.B inode_count_fullmap +optimization. This is the default unless otherwise specified in +.BR /etc/e2fsck.conf . +.TP +.BI readahead_kb +Use this many KiB of memory to pre-fetch metadata in the hopes of reducing +e2fsck runtime. By default, this is set to the size of two block groups' inode +tables (typically 4MiB on a regular ext4 file system); if this amount is more +than 1/50th of total physical memory, readahead is disabled. Set this to zero +to disable readahead entirely. +.TP +.BI bmap2extent +Convert block-mapped files to extent-mapped files. +.TP +.BI fixes_only +Only fix damaged metadata; do not optimize htree directories or compress +extent trees. This option is incompatible with the -D and -E bmap2extent +options. +.TP +.BI check_encoding +Force verification of encoded filenames in case-insensitive directories. +This is the default mode if the file system has the strict flag enabled. +.TP +.BI unshare_blocks +If the file system has shared blocks, with the shared blocks read-only feature +enabled, then this will unshare all shared blocks and unset the read-only +feature bit. If there is not enough free space then the operation will fail. +If the file system does not have the read-only feature bit, but has shared +blocks anyway, then this option will have no effect. Note when using this +option, if there is no free space to clone blocks, there is no prompt to +delete files and instead the operation will fail. +.IP +Note that unshare_blocks implies the "-f" option to ensure that all passes +are run. Additionally, if "-n" is also specified, e2fsck will simulate trying +to allocate enough space to deduplicate. If this fails, the exit code will +be non-zero. .RE .TP .B \-f Force checking even if the file system seems clean. .TP .B \-F -Flush the filesystem device's buffer caches before beginning. Only -really useful for doing -.B e2fsck +Flush the file system device's buffer caches before beginning. Only +really useful for doing +.B e2fsck time trials. @JDEV@.TP @JDEV@.BI \-j " external-journal" -@JDEV@Set the pathname where the external-journal for this filesystem can be +@JDEV@Set the pathname where the external-journal for this file system can be @JDEV@found. .TP .BI \-k -When combined with the +When combined with the .B \-c option, any existing bad blocks in the bad blocks list are preserved, and any new bad blocks found by running -.BR badblocks (8) +.BR badblocks (8) will be added to the existing bad blocks list. .TP .BI \-l " filename" -Add the block numbers listed in the file specified by +Add the block numbers listed in the file specified by .I filename to the list of bad blocks. The format of this file is the same as the -one generated by the +one generated by the .BR badblocks (8) program. Note that the block numbers are based on the blocksize -of the filesystem. Hence, +of the file system. Hence, .BR badblocks (8) -must be given the blocksize of the filesystem in order to obtain correct -results. As a result, it is much simpler and safer to use the +must be given the blocksize of the file system in order to obtain correct +results. As a result, it is much simpler and safer to use the .B -c -option to +option to .BR e2fsck , since it will assure that the correct parameters are passed to the .B badblocks program. .TP .BI \-L " filename" -Set the bad blocks list to be the list of blocks specified by +Set the bad blocks list to be the list of blocks specified by .IR filename . -(This option is the same as the +(This option is the same as the .B \-l option, except the bad blocks list is cleared before the blocks listed in the file are added to the bad blocks list.) .TP .B \-n -Open the filesystem read-only, and assume an answer of `no' to all +Open the file system read-only, and assume an answer of `no' to all questions. Allows .B e2fsck -to be used non-interactively. (Note: if the -.BR \-c , -.BR \-l , -or -.B \-L -options are specified in addition to the -.B \-n -option, then the filesystem will be opened read-write, to permit the -bad-blocks list to be updated. However, no other changes will be made -to the filesystem.) This option -may not be specified at the same time as the +to be used non-interactively. This option +may not be specified at the same time as the .B \-p or .B \-y options. .TP .B \-p -Automatically repair ("preen") the file system. This option will case +Automatically repair ("preen") the file system. This option will cause .B e2fsck to automatically -fix any filesystem problems that can be safely fixed without human -intervention. If +fix any file system problems that can be safely fixed without human +intervention. If .B e2fsck discovers a problem which may require the system administrator -to take additional corrective action, +to take additional corrective action, .B e2fsck will print a description of the problem and then exit with the value 4 logically or'ed into the exit code. (See the \fBEXIT CODE\fR section.) -This option is normally used by the system's boot scripts. It may not +This option is normally used by the system's boot scripts. It may not be specified at the same time as the .B \-n or @@ -293,14 +380,24 @@ Verbose mode. Print version information and exit. .TP .B \-y -Assume an answer of `yes' to all questions; allows +Assume an answer of `yes' to all questions; allows .B e2fsck to be used non-interactively. This option -may not be specified at the same time as the +may not be specified at the same time as the .B \-n or .B \-p options. +.TP +.BI \-z " undo_file" +Before overwriting a file system block, write the old contents of the block to +an undo file. This undo file can be used with e2undo(8) to restore the old +contents of the file system should something go wrong. If the empty string is +passed as the undo_file argument, the undo file will be written to a file named +e2fsck-\fIdevice\fR.e2undo in the directory specified via the +\fIE2FSPROGS_UNDO_DIR\fR environment variable. + +WARNING: The undo file cannot be used to recover from a power or system crash. .SH EXIT CODE The exit code returned by .B e2fsck @@ -325,26 +422,26 @@ is the sum of the following conditions: \ 128\ \-\ Shared library error .br .SH SIGNALS -The following signals have the following effect when sent to +The following signals have the following effect when sent to .BR e2fsck . .TP .B SIGUSR1 This signal causes .B e2fsck -to start displaying a completion bar or emitting progress information. -(See discussion of the +to start displaying a completion bar or emitting progress information. +(See discussion of the .B \-C option.) .TP .B SIGUSR2 This signal causes -.B e2fsck +.B e2fsck to stop displaying a completion bar or emitting progress information. .SH REPORTING BUGS Almost any piece of software will have bugs. If you manage to find a -filesystem which causes +file system which causes .B e2fsck -to crash, or which +to crash, or which .B e2fsck is unable to repair, please report it to the author. .PP @@ -352,10 +449,10 @@ Please include as much information as possible in your bug report. Ideally, include a complete transcript of the .B e2fsck run, so I can see exactly what error messages are displayed. (Make sure -the messages printed by -.B e2fsck +the messages printed by +.B e2fsck are in English; if your system has been -configured so that +configured so that .BR e2fsck 's messages have been translated into another language, please set the the .B LC_ALL @@ -363,41 +460,47 @@ environment variable to .B C so that the transcript of e2fsck's output will be useful to me.) If you -have a writable filesystem where the transcript can be stored, the +have a writable file system where the transcript can be stored, the .BR script (1) program is a handy way to save the output of .B e2fsck to a file. .PP -It is also useful to send the output of +It is also useful to send the output of .BR dumpe2fs (8). -If a specific inode or inodes seems to be giving -.B e2fsck +If a specific inode or inodes seems to be giving +.B e2fsck trouble, try running the .BR debugfs (8) -command and send the output of the +command and send the output of the .BR stat (1u) -command run on the relevant inode(s). If the inode is a directory, the +command run on the relevant inode(s). If the inode is a directory, the .B debugfs .I dump command will allow you to extract the contents of the directory inode, which can sent to me after being first run through -.BR uuencode (1). +.BR uuencode (1). The most useful data you can send to help reproduce -the bug is a compressed raw image dump of the filesystem, generated using +the bug is a compressed raw image dump of the file system, generated using .BR e2image (8). -See the +See the .BR e2image (8) man page for more details. .PP -Always include the full version string which +Always include the full version string which .B e2fsck displays when it is run, so I know which version you are running. +.SH ENVIRONMENT +.TP +.BI E2FSCK_CONFIG +Determines the location of the configuration file (see +.BR e2fsck.conf (5)). .SH AUTHOR -This version of +This version of .B e2fsck was written by Theodore Ts'o . .SH SEE ALSO +.BR e2fsck.conf (5), .BR badblocks (8), .BR dumpe2fs (8), .BR debugfs (8),