Whamcloud - gitweb
e2fsck: map PROMPT_* values to prompt messages
[tools/e2fsprogs.git] / misc / tune2fs.8.in
index 053afc1..979f6c5 100644 (file)
@@ -4,7 +4,7 @@
 .\"
 .TH TUNE2FS 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
 .SH NAME
-tune2fs \- adjust tunable filesystem parameters on second extended filesystems
+tune2fs \- adjust tunable file system parameters on ext2/ext3/ext4 file systems
 .SH SYNOPSIS
 .B tune2fs
 [
@@ -19,10 +19,17 @@ tune2fs \- adjust tunable filesystem parameters on second extended filesystems
 .I errors-behavior
 ]
 [
+.B \-f
+]
+[
 .B \-i
 .I interval-between-checks
 ]
 [
+.B \-I
+.I new_inode_size
+]
+[
 .B \-j
 ]
 [
@@ -34,12 +41,12 @@ tune2fs \- adjust tunable filesystem parameters on second extended filesystems
 .I reserved-blocks-percentage
 ]
 [
-.B \-r
-.I reserved-blocks-count
+.B \-o
+.RI [^]mount-options [,...]
 ]
 [
-.B \-s
-.I sparse-super-flag
+.B \-r
+.I reserved-blocks-count
 ]
 [
 .B \-u
@@ -54,64 +61,97 @@ tune2fs \- adjust tunable filesystem parameters on second extended filesystems
 .I mount-count
 ]
 [
+.B \-E
+.I extended-options
+]
+[
 .B \-L
-.I volume-name
+.I volume-label
 ]
 [
 .B \-M
 .I last-mounted-directory
 ]
 [
-.B \-O 
+.B \-O
 .RI [^] feature [,...]
 ]
 [
+.B \-Q
+.I quota-options
+]
+[
+.B \-T
+.I time-last-checked
+]
+[
 .B \-U
 .I UUID
 ]
+[
+.B \-z
+.I undo_file
+]
 device
 .SH DESCRIPTION
-.BI tune2fs
-adjusts tunable filesystem parameters on a Linux second extended filesystem.
+.B tune2fs
+allows the system administrator to adjust various tunable file system
+parameters on Linux ext2, ext3, or ext4 file systems.  The current values
+of these options can be displayed by using the
+.B -l
+option to
+.BR tune2fs (8)
+program, or by using the
+.BR dumpe2fs (8)
+program.
+.PP
+The
+.I device
+specifier can either be a filename (i.e., /dev/sda1), or a LABEL or UUID
+specifier: "\fBLABEL=\fIvolume-label\fR" or "\fBUUID=\fIuuid\fR".  (i.e.,
+LABEL=home or UUID=e40486c6-84d5-4f2f-b99c-032281799c9d).
 .SH OPTIONS
 .TP
 .BI \-c " max-mount-counts"
-Adjust the maximal mounts count between two filesystem checks.  If 
+Adjust the number of mounts after which the file system will be checked by
+.BR e2fsck (8).
+If
+.I max-mount-counts
+is the string "random", tune2fs will use a random value between 20 and 40.
+If
 .I max-mount-counts
-is 0 then the number of times the filesystem is mounted will be disregarded
+is 0 or \-1, the number of times the file system is mounted will be disregarded
 by
 .BR e2fsck (8)
 and the kernel.
 .sp
-Staggering the mount-counts at which filesystems are forcibly
-checked will avoid all filesystems being checked at one time
-when using journaled filesystems.
+Staggering the mount-counts at which file systems are forcibly
+checked will avoid all file systems being checked at one time
+when using journaled file systems.
 .sp
-You should strongly consider the consequences of disabling
-mount-count-dependent checking entirely.  Bad disk drives, cables,
-memory, and kernel bugs could all corrupt a filesystem without
-marking the filesystem dirty or in error.  If you are using
-journaling on your filesystem, your filesystem will
-.B never
-be marked dirty, so it will not normally be checked.  A
-filesystem error detected by the kernel will still force
-an fsck on the next reboot, but it may already be too late
-to prevent data loss at that point.
-.sp
-See also the
-.B \-i
-option for time-dependent checking.
+Mount-count-dependent checking is disabled by default to avoid
+unanticipated long reboots while e2fsck does its work.  If you
+are concerned about file system corruptions caused by potential hardware
+problems of kernel bugs, a better solution than mount-count-dependent
+checking is to use the
+.BR e2scrub (8)
+program.  This does require placing the file system on an LVM volume,
+however.
 .TP
 .BI \-C " mount-count"
-Set the number of times the filesystem has been mounted.
-Can be used in conjunction with -c to force an fsck on
-the filesystem at the next reboot.
+Set the number of times the file system has been mounted.
+If set to a greater value than the max-mount-counts parameter
+set by the
+.B \-c
+option,
+.BR e2fsck (8)
+will check the file system at the next reboot.
 .TP
 .BI \-e " error-behavior"
 Change the behavior of the kernel code when errors are detected.
-In all cases, a filesystem error will cause
+In all cases, a file system error will cause
 .BR e2fsck (8)
-to check the filesystem on the next boot.
+to check the file system on the next boot.
 .I error-behavior
 can be one of the following:
 .RS 1.2i
@@ -120,46 +160,206 @@ can be one of the following:
 Continue normal execution.
 .TP
 .B remount-ro
-Remount filesystem read-only.
+Remount file system read-only.
 .TP
 .B panic
 Cause a kernel panic.
 .RE
 .TP
+.BI \-E " extended-options"
+Set extended options for the file system.  Extended options are comma
+separated, and may take an argument using the equals ('=') sign.
+The following extended options are supported:
+.RS 1.2i
+.TP
+.B clear_mmp
+Reset the MMP block (if any) back to the clean state.  Use only if
+absolutely certain the device is not currently mounted or being
+fscked, or major file system corruption can result.  Needs '-f'.
+.TP
+.BI mmp_update_interval= interval
+Adjust the initial MMP update interval to
+.I interval
+seconds.  Specifying an
+.I interval
+of 0 means to use the default interval.  The specified interval must
+be less than 300 seconds.  Requires that the
+.B mmp
+feature be enabled.
+.TP
+.BI stride= stride-size
+Configure the file system for a RAID array with
+.I stride-size
+file system blocks. This is the number of blocks read or written to disk
+before moving to next disk. This mostly affects placement of file system
+metadata like bitmaps at
+.BR mke2fs (2)
+time to avoid placing them on a single disk, which can hurt the performance.
+It may also be used by block allocator.
+.TP
+.BI stripe_width= stripe-width
+Configure the file system for a RAID array with
+.I stripe-width
+file system blocks per stripe. This is typically be stride-size * N, where
+N is the number of data disks in the RAID (e.g. RAID 5 N+1, RAID 6 N+2).
+This allows the block allocator to prevent read-modify-write of the
+parity in a RAID stripe if possible when the data is written.
+.TP
+.BI hash_alg= hash-alg
+Set the default hash algorithm used for file systems with hashed b-tree
+directories.  Valid algorithms accepted are:
+.IR legacy ,
+.IR half_md4 ,
+and
+.IR tea .
+.TP
+.BI encoding= encoding-name
+Enable the
+.I casefold
+feature in the super block and set
+.I encoding-name
+as the encoding to be used.  If
+.I encoding-name
+is not specified, utf8 is used. The encoding cannot be altered if casefold
+was previously enabled.
+.TP
+.BI encoding_flags= encoding-flags
+Define parameters for file name character encoding operations.  If a
+flag is not changed using this parameter, its default value is used.
+.I encoding-flags
+should be a comma-separated lists of flags to be enabled.  The flags cannot be
+altered if casefold was previously enabled.
+
+The only flag that can be set right now is
+.I strict
+which means that invalid strings should be rejected by the file system.
+In the default configuration, the
+.I strict
+flag is disabled.
+.TP
+.BI mount_opts= mount_option_string
+Set a set of default mount options which will be used when the file
+system is mounted.  Unlike the bitmask-based default mount options which
+can be specified with the
+.B -o
+option,
+.I mount_option_string
+is an arbitrary string with a maximum length of 63 bytes, which is
+stored in the superblock.
+.IP
+The ext4 file system driver will first apply
+the bitmask-based default options, and then parse the
+.IR mount_option_string ,
+before parsing the mount options passed from the
+.BR mount (8)
+program.
+.IP
+This superblock setting is only honored in 2.6.35+ kernels;
+and not at all by the ext2 and ext3 file system drivers.
+.TP
+.B force_fsck
+Set a flag in the file system superblock indicating that errors have been found.
+This will force fsck to run at the next mount.
+.TP
+.B test_fs
+Set a flag in the file system superblock indicating that it may be
+mounted using experimental kernel code, such as the ext4dev file system.
+.TP
+.B ^test_fs
+Clear the test_fs flag, indicating the file system should only be mounted
+using production-level file system code.
+.RE
+.TP
+.B \-f
+Force the tune2fs operation to complete even in the face of errors.  This
+option is useful when removing the
+.B has_journal
+file system feature from a file system which has
+an external journal (or is corrupted
+such that it appears to have an external journal), but that
+external journal is not available.   If the file system appears to require
+journal replay, the
+.B \-f
+flag must be specified twice to proceed.
+.sp
+.B WARNING:
+Removing an external journal from a file system which was not cleanly unmounted
+without first replaying the external journal can result in
+severe data loss and file system corruption.
+.TP
 .BI \-g " group"
-Set the group which can use reserved filesystem blocks.
-The 
+Set the group which can use the reserved file system blocks.
+The
 .I group
 parameter can be a numerical gid or a group name.  If a group name is given,
 it is converted to a numerical gid before it is stored in the superblock.
 .TP
 .B \-i " \fIinterval-between-checks\fR[\fBd\fR|\fBm\fR|\fBw\fR]"
-Adjust the maximal time between two filesystem checks. 
-No postfix or
+Adjust the maximal time between two file system checks.
+No suffix or
 .B d
-result in days,
+will interpret the number
+.I interval-between-checks
+as days,
 .B m
-in months, and
+as months, and
 .B w
-in weeks.  A value of zero will disable the time-dependent checking.
+as weeks.  A value of zero will disable the time-dependent checking.
 .sp
-It is strongly recommended that either
+There are pros and cons to disabling these periodic checks; see the
+discussion under the
 .B \-c
-(mount-count-dependent) or
-.B \-i
-(time-dependent) checking be enabled to force periodic full
-.BR e2fsck (8)
-checking of the filesystem.  Failure to do so may lead to filesystem
-corruption due to bad disks, cables, memory, or kernel bugs to go
-unnoticed until they cause data loss or corruption.
+(mount-count-dependent check) option for details.
+.TP
+.B \-I
+Change the inode size used by the file system.   This requires rewriting
+the inode table, so it requires that the file system is checked for
+consistency first using
+.BR e2fsck (8).
+This operation can also take a while and the file system can be
+corrupted and data lost if it is interrupted while in the middle of
+converting the file system.  Backing up the file system before changing
+inode size is recommended.
+.IP
+File systems with an inode size of 128 bytes do not support timestamps
+beyond January 19, 2038.  Inodes which are 256 bytes or larger will
+support extended timestamps, project id's, and the ability to store some
+extended attributes in the inode table for improved performance.
 .TP
 .B \-j
-Add an ext3 journal to the filesystem.  If the 
+Add an ext3 journal to the file system.  If the
 .B \-J
 option is not specified, the default journal parameters will be used to create
-an appropriately sized journal (given the size of the filesystem) 
-stored within the filesystem.  Note that you must be using a kernel
+an appropriately sized journal (given the size of the file system)
+stored within the file system.  Note that you must be using a kernel
 which has ext3 support in order to actually make use of the journal.
+.IP
+If this option is used to create a journal on a mounted file system, an
+immutable file,
+.BR .journal ,
+will be created in the top-level directory of the file system, as it is
+the only safe way to create the journal inode while the file system is
+mounted.  While the ext3 journal is visible, it is not safe to
+delete it, or modify it while the file system is mounted; for this
+reason the file is marked immutable.
+While checking unmounted file systems,
+.BR e2fsck (8)
+will automatically move
+.B .journal
+files to the invisible, reserved journal inode.  For all file systems
+except for the root file system,  this should happen automatically and
+naturally during the next reboot cycle.  Since the root file system is
+mounted read-only,
+.BR e2fsck (8)
+must be run from a rescue floppy in order to effect this transition.
+.IP
+On some distributions, such as Debian, if an initial ramdisk is used,
+the initrd scripts will automatically convert an ext2 root file system
+to ext3 if the
+.B /etc/fstab
+file specifies the ext3 file system for the root file system in order to
+avoid requiring the use of a rescue floppy to add an ext3 journal to
+the root file system.
 .TP
 .BR \-J " journal-options"
 Override the default ext3 journal parameters. Journal options are comma
@@ -168,121 +368,417 @@ The following journal options are supported:
 .RS 1.2i
 .TP
 .BI size= journal-size
-Create a journal stored in the filesystem of size
+Create a journal stored in the file system of size
 .I journal-size
-megabytes.   The size of the journal must be at least 1024 filesystem blocks
+megabytes.   The size of the journal must be at least 1024 file system blocks
 (i.e., 1MB if using 1k blocks, 4MB if using 4k blocks, etc.)
-and may be no more than 102,400 filesystem blocks.
-There must be enough free space in the filesystem to create a journal of
+and may be no more than 10,240,000 file system blocks.
+There must be enough free space in the file system to create a journal of
 that size.
+.TP
+.BI fast_commit_size= fast-commit-size
+Create an additional fast commit journal area of size
+.I fast-commit-size
+kilobytes.
+This option is only valid if
+.B fast_commit
+feature is enabled
+on the file system. If this option is not specified and if
+.B fast_commit
+feature is turned on, fast commit area size defaults to
+.I journal-size
+/ 64 megabytes. The total size of the journal with
+.B fast_commit
+feature set is
+.I journal-size
++ (
+.I fast-commit-size
+* 1024) megabytes. The total journal size may be no more than
+10,240,000 file system blocks or half the total file system size
+(whichever is smaller).
+.TP
+.BI location =journal-location
+Specify the location of the journal.  The argument
+.I journal-location
+can either be specified as a block number, or if the number has a units
+suffix (e.g., 'M', 'G', etc.) interpret it as the offset from the
+beginning of the file system.
 @JDEV@.TP
 @JDEV@.BI device= external-journal
-@JDEV@Attach the filesystem to the journal block device located on
+@JDEV@Attach the file system to the journal block device located on
 @JDEV@.IR external-journal .
-@JDEV@to the filesystem.
-@JDEV@The external 
+@JDEV@The external
 @JDEV@journal must have been already created using the command
 @JDEV@.IP
-@JDEV@.B mke2fs -O journal_dev 
-@JDEV@.IR external-journal.
+@JDEV@.B mke2fs -O journal_dev
+@JDEV@.I external-journal
 @JDEV@.IP
 @JDEV@Note that
 @JDEV@.I external-journal
 @JDEV@must be formatted with the same block
-@JDEV@size as filesystems which will be using it.
+@JDEV@size as file systems which will be using it.
+@JDEV@In addition, while there is support for attaching
+@JDEV@multiple file systems to a single external journal,
+@JDEV@the Linux kernel and
+@JDEV@.BR e2fsck (8)
+@JDEV@do not currently support shared external journals yet.
+@JDEV@.IP
+@JDEV@Instead of specifying a device name directly,
+@JDEV@.I external-journal
+@JDEV@can also be specified by either
+@JDEV@.BI LABEL= label
+@JDEV@or
+@JDEV@.BI UUID= UUID
+@JDEV@to locate the external journal by either the volume label or UUID
+@JDEV@stored in the ext2 superblock at the start of the journal.  Use
+@JDEV@.BR dumpe2fs (8)
+@JDEV@to display a journal device's volume label and UUID.  See also the
+@JDEV@.B -L
+@JDEV@option of
+@JDEV@.BR tune2fs (8).
 .RE
 @JDEV@.IP
 @JDEV@Only one of the
 @JDEV@.BR size " or " device
-@JDEV@options can be given for a filesystem.
+@JDEV@options can be given for a file system.
 .TP
 .B \-l
-List the contents of the filesystem superblock.
+List the contents of the file system superblock, including the current
+values of the parameters that can be set via this program.
 .TP
 .BI \-L " volume-label"
-Set the volume label of the filesystem.  
-Ext2 filesystem labels can be at most 16 characters long; if
-.I volume-label 
-is longer than 16 characters, 
+Set the volume label of the file system.
+Ext2 file system labels can be at most 16 characters long; if
+.I volume-label
+is longer than 16 characters,
 .B tune2fs
-will truncate it and print a warning.  
+will truncate it and print a warning.  The volume label can be used
+by
+.BR mount (8),
+.BR fsck (8),
+and
+.BR /etc/fstab (5)
+(and possibly others) by specifying
+.BI LABEL= volume-label
+instead of a block special device name like
+.BR /dev/hda5 .
 .TP
 .BI \-m " reserved-blocks-percentage"
-Set the percentage of reserved filesystem blocks.
+Set the percentage of the file system which may only be allocated
+by privileged processes.   Reserving some number of file system blocks
+for use by privileged processes is done
+to avoid file system fragmentation, and to allow system
+daemons, such as
+.BR syslogd (8),
+to continue to function correctly after non-privileged processes are
+prevented from writing to the file system.  Normally, the default percentage
+of reserved blocks is 5%.
 .TP
 .BI \-M " last-mounted-directory"
-Set the last-mounted directory for the filesystem.
+Set the last-mounted directory for the file system.
+.TP
+.BR \-o " [^]\fImount-option\fR[,...]"
+Set or clear the indicated default mount options in the file system.
+Default mount options can be overridden by mount options specified
+either in
+.BR /etc/fstab (5)
+or on the command line arguments to
+.BR mount (8).
+Older kernels may not support this feature; in particular,
+kernels which predate 2.4.20 will almost certainly ignore the
+default mount options field in the superblock.
+.IP
+More than one mount option can be cleared or set by separating
+features with commas.  Mount options prefixed with a
+caret character ('^') will be cleared in the file system's superblock;
+mount options without a prefix character or prefixed with a plus
+character ('+') will be added to the file system.
+.IP
+The following mount options can be set or cleared using
+.BR tune2fs :
+.RS 1.2i
+.TP
+.B debug
+Enable debugging code for this file system.
+.TP
+.B bsdgroups
+Emulate BSD behavior when creating new files: they will take the group-id
+of the directory in which they were created.  The standard System V behavior
+is the default, where newly created files take on the fsgid of the current
+process, unless the directory has the setgid bit set, in which case it takes
+the gid from the parent directory, and also gets the setgid bit set if it is
+a directory itself.
+.TP
+.B user_xattr
+Enable user-specified extended attributes.
+.TP
+.B acl
+Enable Posix Access Control Lists.
+.TP
+.B uid16
+Disables 32-bit UIDs and GIDs.  This is for interoperability with
+older kernels which only store and expect 16-bit values.
+.TP
+.B journal_data
+When the file system is mounted with journaling enabled, all data
+(not just metadata) is committed into the journal prior to being written
+into the main file system.
+.TP
+.B journal_data_ordered
+When the file system is mounted with journaling enabled, all data is forced
+directly out to the main file system prior to its metadata being committed
+to the journal.
+.TP
+.B journal_data_writeback
+When the file system is mounted with journaling enabled, data may be
+written into the main file system after its metadata has been committed
+to the journal.  This may increase throughput, however, it may allow old
+data to appear in files after a crash and journal recovery.
+.TP
+.B nobarrier
+The file system will be mounted with barrier operations in the journal
+disabled.  (This option is currently only supported by the ext4 file
+system driver in 2.6.35+ kernels.)
+.TP
+.B block_validity
+The file system will be mounted with the block_validity option enabled,
+which causes extra checks to be performed after reading or writing from
+the file system.  This prevents corrupted metadata blocks from causing
+file system damage by overwriting parts of the inode table or block
+group descriptors.  This comes at the cost of increased memory and CPU
+overhead, so it is enabled only for debugging purposes.  (This option is
+currently only supported by the ext4 file system driver in 2.6.35+
+kernels.)
+.TP
+.B discard
+The file system will be mounted with the discard mount option.  This will
+cause the file system driver to attempt to use the trim/discard feature
+of some storage devices (such as SSD's and thin-provisioned drives
+available in some enterprise storage arrays) to inform the storage
+device that blocks belonging to deleted files can be reused for other
+purposes.  (This option is currently only supported by the ext4 file
+system driver in 2.6.35+ kernels.)
+.TP
+.B nodelalloc
+The file system will be mounted with the nodelalloc mount option.  This
+will disable the delayed allocation feature.  (This option is currently
+only supported by the ext4 file system driver in 2.6.35+ kernels.)
+.RE
 .TP
 .BR \-O " [^]\fIfeature\fR[,...]"
-Set or clear the indicated filesystem features (options) in the filesystem.
-More than one filesystem feature can be cleared or set by separating
-features with commas.  Filesystem features prefixed with a 
-caret character ('^') will be cleared in the filesystem's superblock; 
-filesystem features without a prefix character or prefixed with a plus 
-character ('+') will be added to the filesystem.
+Set or clear the indicated file system features (options) in the file system.
+More than one file system feature can be cleared or set by separating
+features with commas.  File System features prefixed with a
+caret character ('^') will be cleared in the file system's superblock;
+file system features without a prefix character or prefixed with a plus
+character ('+') will be added to the file system.  For a detailed
+description of the file system features, please see the man page
+.BR ext4 (5).
 .IP
-The following filesystem features can be set or cleared using
+The following file system features can be set or cleared using
 .BR tune2fs :
 .RS 1.2i
 .TP
-.B sparse_super
-Limit the number of backup superblocks to save space on large filesystems.
+.B 64bit
+Enable the file system to be larger than 2^32 blocks.
+.TP
+.B casefold
+Enable support for file system level casefolding.
+.B Tune2fs
+currently only supports setting this file system feature.
+.TP
+.B dir_index
+Use hashed b-trees to speed up lookups for large directories.
+.TP
+.B dir_nlink
+Allow more than 65000 subdirectories per directory.
+.TP
+.B ea_inode
+Allow the value of each extended attribute to be placed in the data blocks of a
+separate inode if necessary, increasing the limit on the size and number of
+extended attributes per file.
+.B Tune2fs
+currently only supports setting this file system feature.
+.TP
+.B encrypt
+Enable support for file system level encryption.
+.B Tune2fs
+currently only supports setting this file system feature.
+.TP
+.B extent
+Enable the use of extent trees to store the location of data blocks in inodes.
+.B Tune2fs
+currently only supports setting this file system feature.
+.TP
+.B extra_isize
+Enable the extended inode fields used by ext4.
 .TP
 .B filetype
 Store file type information in directory entries.
 .TP
+.B flex_bg
+Allow bitmaps and inode tables for a block group to be placed
+anywhere on the storage media.  \fBTune2fs\fR will not reorganize
+the location of the inode tables and allocation bitmaps, as
+.BR mke2fs (8)
+will do when it creates a freshly formatted file system with
+.B flex_bg
+enabled.
+.TP
 .B has_journal
-Create an ext3 journal (as if using the
+Use a journal to ensure file system consistency even across unclean shutdowns.
+Setting the file system feature is equivalent to using the
 .B \-j
-option).
+option.
+.TP
+.TP
+.B fast_commit
+Enable fast commit journaling feature to improve fsync latency.
+.TP
+.B large_dir
+Increase the limit on the number of files per directory.
+.B Tune2fs
+currently only supports setting this file system feature.
+.TP
+.B huge_file
+Support files larger than 2 terabytes in size.
+.TP
+.B large_file
+File System can contain files that are greater than 2GB.
+.TP
+.B metadata_csum
+Store a checksum to protect the contents in each metadata block.
+.TP
+.B metadata_csum_seed
+Allow the file system to store the metadata checksum seed in the
+superblock, enabling the administrator to change the UUID of a file system
+using the
+.B metadata_csum
+feature while it is mounted.
+.TP
+.B mmp
+Enable or disable multiple mount protection (MMP) feature.
+.TP
+.B project
+Enable project ID tracking.  This is used for project quota tracking.
+.TP
+.B quota
+Enable internal file system quota inodes.
+.TP
+.B read-only
+Force the kernel to mount the file system read-only.
+.TP
+.B resize_inode
+Reserve space so the block group descriptor table may grow in the
+future.
+.B Tune2fs
+only supports clearing this file system feature.
+.TP
+.B sparse_super
+Limit the number of backup superblocks to save space on large file systems.
+.B Tune2fs
+currently only supports setting this file system feature.
+.TP
+.B stable_inodes
+Prevent the file system from being shrunk or having its UUID changed, in order to
+allow the use of specialized encryption settings that make use of the inode
+numbers and UUID.
+.B Tune2fs
+currently only supports setting this file system feature.
+.TP
+.B uninit_bg
+Allow the kernel to initialize bitmaps and inode tables lazily, and to
+keep a high watermark for the unused inodes in a file system, to reduce
+.BR e2fsck (8)
+time.  The first e2fsck run after enabling this feature will take the
+full time, but subsequent e2fsck runs will take only a fraction of the
+original time, depending on how full the file system is.
+.TP
+.B verity
+Enable support for verity protected files.
+.B Tune2fs
+currently only supports setting this file system feature.
 .RE
 .IP
-After setting or clearing any filesystem feature,
+After setting or clearing
+.BR sparse_super ,
+.BR uninit_bg ,
+.BR filetype ,
+or
+.B resize_inode
+file system features,
+the file system may require being checked using
 .BR e2fsck (8)
-must be run on the filesystem to return the filesystem to a consistent state.
-.IP
-.B Warning:
-Linux kernels before 2.0.39 and many 2.1 series kernels do not support
-the filesystems that use any of these features.
-Enabling certain filesystem features may prevent the filesystem from
-being mounted by kernels which do not support those features.
+to return the file system to a consistent state.
+.B Tune2fs
+will print a message requesting that the system administrator run
+.BR e2fsck (8)
+if necessary.  After setting the
+.B dir_index
+feature,
+.B e2fsck -D
+can be run to convert existing directories to the hashed B-tree format.
+Enabling certain file system features may prevent the file system from being
+mounted by kernels which do not support those features.  In particular, the
+.B uninit_bg
+and
+.B flex_bg
+features are only supported by the ext4 file system.
 .TP
 .BI \-r " reserved-blocks-count"
-Set the number of reserved filesystem blocks.
+Set the number of reserved file system blocks.
 .TP
-.BR \-s " [" 0 | 1 ]
-Turn the sparse super feature off or on.  Turning this feature on
-saves space on really big filesystems.  This is the same as using the
-.B "\-O sparse_super"
-option.
-.IP
-.B Warning:
-Linux kernels before 2.0.39 do not support this feature.  Neither do
-all Linux 2.1 kernels; please don't use this unless you know what you're
-doing!  You need to run
-.BR e2fsck (8)
-on the filesystem after changing this feature in order to have a valid
-filesystem.
+.BI \-Q " quota-options"
+Sets 'quota' feature on the superblock and works on the quota files for the
+given quota type. Quota options could be one or more of the following:
+.RS 1.2i
+.TP
+.B [^]usrquota
+Sets/clears user quota inode in the superblock.
+.TP
+.B [^]grpquota
+Sets/clears group quota inode in the superblock.
+.TP
+.B [^]prjquota
+Sets/clears project quota inode in the superblock.
+.RE
+.TP
+.BI \-T " time-last-checked"
+Set the time the file system was last checked using
+.BR  e2fsck .
+The time is interpreted using the current (local) timezone.
+This can be useful in scripts which use a Logical Volume Manager to make
+a consistent snapshot of a file system, and then check the file system
+during off hours to make sure it hasn't been corrupted due to
+hardware problems, etc.  If the file system was clean, then this option can
+be used to set the last checked time on the original file system.  The format
+of
+.I time-last-checked
+is the international date format, with an optional time specifier, i.e.
+YYYYMMDD[HH[MM[SS]]].   The keyword
+.B now
+is also accepted, in which case the last checked time will be set to the
+current time.
 .TP
 .BI \-u " user"
-Set the user who can use the reserved filesystem blocks.
+Set the user who can use the reserved file system blocks.
 .I user
-can be a numerical uid or a user name.  If a user name is given, it 
+can be a numerical uid or a user name.  If a user name is given, it
 is converted to a numerical uid before it is stored in the superblock.
 .TP
 .BI \-U " UUID"
-Set the universally unique identifier (UUID) of the filesystem to
+Set the universally unique identifier (UUID) of the file system to
 .IR UUID .
-The format of the UUID is a series of hex digits separated by hypthens, 
-like this: 
-"c1b9d5a2-f162-11cf-9ece-0020afc76f16".  
-The 
+The format of the UUID is a series of hex digits separated by hyphens,
+like this:
+"c1b9d5a2-f162-11cf-9ece-0020afc76f16".
+The
 .I UUID
 parameter may also be one of the following:
 .RS 1.2i
 .TP
 .I clear
-clear the filesystem UUID
+clear the file system UUID
 .TP
 .I random
 generate a new randomly-generated UUID
@@ -291,6 +787,16 @@ generate a new randomly-generated UUID
 generate a new time-based UUID
 .RE
 .IP
+The UUID may be used by
+.BR mount (8),
+.BR fsck (8),
+and
+.BR /etc/fstab (5)
+(and possibly others) by specifying
+.BI UUID= uuid
+instead of a block special device name like
+.BR /dev/hda1 .
+.IP
 See
 .BR uuidgen (8)
 for more information.
@@ -300,20 +806,33 @@ or
 .IR /dev/urandom ,
 .B tune2fs
 will automatically use a time-based UUID instead of a randomly-generated UUID.
+.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
+tune2fs-\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 BUGS
 We haven't found any bugs yet.  That doesn't mean there aren't any...
 .SH AUTHOR
-.B tune2fs 
-was written by Remy Card <Remy.Card@linux.org>.
+.B tune2fs
+was written by Remy Card <Remy.Card@linux.org>.  It is currently being
+maintained by Theodore Ts'o <tytso@alum.mit.edu>.
 .B tune2fs
 uses the ext2fs library written by Theodore Ts'o <tytso@mit.edu>.
 This manual page was written by Christian Kuhtz <chk@data-hh.Hanse.DE>.
 Time-dependent checking was added by Uwe Ohse <uwe@tirka.gun.de>.
 .SH AVAILABILITY
 .B tune2fs
-is part of the e2fsprogs package and is available from 
+is part of the e2fsprogs package and is available from
 http://e2fsprogs.sourceforge.net.
 .SH SEE ALSO
+.BR debugfs (8),
 .BR dumpe2fs (8),
 .BR e2fsck (8),
-.BR mke2fs (8)
+.BR mke2fs (8),
+.BR ext4 (5)