mirror of
https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
synced 2024-12-02 22:43:48 +08:00
06def17e2f
This patch makes number of fast commit blocks configurable. Also, the number of fast commit blocks can now be seen in dumpe2fs output. $ ./misc/mke2fs -O fast_commit -t ext4 image mke2fs 1.46-WIP (20-Mar-2020) Discarding device blocks: done Creating filesystem with 5120 1k blocks and 1280 inodes Allocating group tables: done Writing inode tables: done Creating journal (1040 blocks): done Writing superblocks and filesystem accounting information: done $ ./misc/dumpe2fs image dumpe2fs 1.46-WIP (20-Mar-2020) ... Journal features: (none) Total journal size: 1040k Total journal blocks: 1040 Max transaction length: 1024 Fast commit length: 16 Journal sequence: 0x00000001 Journal start: 0 $ ./misc/mke2fs -O fast_commit -t ext4 image -J fast_commit_size=256,size=1 mke2fs 1.46-WIP (20-Mar-2020) Creating filesystem with 5120 1k blocks and 1280 inodes Allocating group tables: done Writing inode tables: done Creating journal (1280 blocks): done Writing superblocks and filesystem accounting information: done $ ./misc/dumpe2fs image dumpe2fs 1.46-WIP (20-Mar-2020) ... Journal features: (none) Total journal size: 1280k Total journal blocks: 1280 Max transaction length: 1024 Fast commit length: 256 Journal sequence: 0x00000001 Journal start: 0 This patch also adds information about fast commit feature in mke2fs and tune2fs man pages. Signed-off-by: Harshad Shirwadkar <harshadshirwadkar@gmail.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
815 lines
24 KiB
Groff
815 lines
24 KiB
Groff
.\" Revision 1.0 93/06/3 23:00 chk
|
|
.\" Initial revision
|
|
.\"
|
|
.\"
|
|
.TH TUNE2FS 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
|
|
.SH NAME
|
|
tune2fs \- adjust tunable filesystem parameters on ext2/ext3/ext4 filesystems
|
|
.SH SYNOPSIS
|
|
.B tune2fs
|
|
[
|
|
.B \-l
|
|
]
|
|
[
|
|
.B \-c
|
|
.I max-mount-counts
|
|
]
|
|
[
|
|
.B \-e
|
|
.I errors-behavior
|
|
]
|
|
[
|
|
.B \-f
|
|
]
|
|
[
|
|
.B \-i
|
|
.I interval-between-checks
|
|
]
|
|
[
|
|
.B \-I
|
|
.I new_inode_size
|
|
]
|
|
[
|
|
.B \-j
|
|
]
|
|
[
|
|
.B \-J
|
|
.I journal-options
|
|
]
|
|
[
|
|
.B \-m
|
|
.I reserved-blocks-percentage
|
|
]
|
|
[
|
|
.B \-o
|
|
.RI [^]mount-options [,...]
|
|
]
|
|
[
|
|
.B \-r
|
|
.I reserved-blocks-count
|
|
]
|
|
[
|
|
.B \-u
|
|
.I user
|
|
]
|
|
[
|
|
.B \-g
|
|
.I group
|
|
]
|
|
[
|
|
.B \-C
|
|
.I mount-count
|
|
]
|
|
[
|
|
.B \-E
|
|
.I extended-options
|
|
]
|
|
[
|
|
.B \-L
|
|
.I volume-label
|
|
]
|
|
[
|
|
.B \-M
|
|
.I last-mounted-directory
|
|
]
|
|
[
|
|
.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
|
|
.B tune2fs
|
|
allows the system administrator to adjust various tunable filesystem
|
|
parameters on Linux ext2, ext3, or ext4 filesystems. 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 number of mounts after which the filesystem will be checked by
|
|
.BR e2fsck (8).
|
|
If
|
|
.I max-mount-counts
|
|
is 0 or \-1, the number of times the filesystem 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.
|
|
.sp
|
|
Mount-count-dependent checking is disabled by default to avoid
|
|
unanticipated long reboots while e2fsck does its work. However,
|
|
you may wish to 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.
|
|
.TP
|
|
.BI \-C " mount-count"
|
|
Set the number of times the filesystem 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 filesystem 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
|
|
.BR e2fsck (8)
|
|
to check the filesystem on the next boot.
|
|
.I error-behavior
|
|
can be one of the following:
|
|
.RS 1.2i
|
|
.TP 1.2i
|
|
.B continue
|
|
Continue normal execution.
|
|
.TP
|
|
.B remount-ro
|
|
Remount filesystem read-only.
|
|
.TP
|
|
.B panic
|
|
Cause a kernel panic.
|
|
.RE
|
|
.TP
|
|
.BI \-E " extended-options"
|
|
Set extended options for the filesystem. 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 filesystem 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 filesystem for a RAID array with
|
|
.I stride-size
|
|
filesystem blocks. This is the number of blocks read or written to disk
|
|
before moving to next disk. This mostly affects placement of filesystem
|
|
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 filesystem for a RAID array with
|
|
.I stripe-width
|
|
filesystem 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 filesystems with hashed b-tree
|
|
directories. Valid algorithms accepted are:
|
|
.IR legacy ,
|
|
.IR half_md4 ,
|
|
and
|
|
.IR tea .
|
|
.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 filesystem 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 filesystem superblock indicating that it may be
|
|
mounted using experimental kernel code, such as the ext4dev filesystem.
|
|
.TP
|
|
.B ^test_fs
|
|
Clear the test_fs flag, indicating the filesystem should only be mounted
|
|
using production-level filesystem 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
|
|
filesystem feature from a filesystem 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 filesystem appears to require
|
|
journal replay, the
|
|
.B \-f
|
|
flag must be specified twice to proceed.
|
|
.sp
|
|
.B WARNING:
|
|
Removing an external journal from a filesystem which was not cleanly unmounted
|
|
without first replaying the external journal can result in
|
|
severe data loss and filesystem corruption.
|
|
.TP
|
|
.BI \-g " group"
|
|
Set the group which can use the reserved filesystem 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 suffix or
|
|
.B d
|
|
will interpret the number
|
|
.I interval-between-checks
|
|
as days,
|
|
.B m
|
|
as months, and
|
|
.B w
|
|
as weeks. A value of zero will disable the time-dependent checking.
|
|
.sp
|
|
There are pros and cons to disabling these periodic checks; see the
|
|
discussion under the
|
|
.B \-c
|
|
(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
|
|
.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
|
|
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 filesystem, an
|
|
immutable file,
|
|
.BR .journal ,
|
|
will be created in the top-level directory of the filesystem, as it is
|
|
the only safe way to create the journal inode while the filesystem is
|
|
mounted. While the ext3 journal is visible, it is not safe to
|
|
delete it, or modify it while the filesystem is mounted; for this
|
|
reason the file is marked immutable.
|
|
While checking unmounted filesystems,
|
|
.BR e2fsck (8)
|
|
will automatically move
|
|
.B .journal
|
|
files to the invisible, reserved journal inode. For all filesystems
|
|
except for the root filesystem, this should happen automatically and
|
|
naturally during the next reboot cycle. Since the root filesystem 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 filesystem
|
|
to ext3 if the
|
|
.B /etc/fstab
|
|
file specifies the ext3 filesystem for the root filesystem in order to
|
|
avoid requiring the use of a rescue floppy to add an ext3 journal to
|
|
the root filesystem.
|
|
.TP
|
|
.BR \-J " journal-options"
|
|
Override the default ext3 journal parameters. Journal options are comma
|
|
separated, and may take an argument using the equals ('=') sign.
|
|
The following journal options are supported:
|
|
.RS 1.2i
|
|
.TP
|
|
.BI size= journal-size
|
|
Create a journal stored in the filesystem of size
|
|
.I journal-size
|
|
megabytes. The size of the journal must be at least 1024 filesystem blocks
|
|
(i.e., 1MB if using 1k blocks, 4MB if using 4k blocks, etc.)
|
|
and may be no more than 10,240,000 filesystem blocks.
|
|
There must be enough free space in the filesystem 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 filesystem 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@.IR external-journal .
|
|
@JDEV@The external
|
|
@JDEV@journal must have been already created using the command
|
|
@JDEV@.IP
|
|
@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@In addition, while there is support for attaching
|
|
@JDEV@multiple filesystems 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.
|
|
.TP
|
|
.B \-l
|
|
List the contents of the filesystem 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,
|
|
.B tune2fs
|
|
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 the filesystem which may only be allocated
|
|
by privileged processes. Reserving some number of filesystem blocks
|
|
for use by privileged processes is done
|
|
to avoid filesystem 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 filesystem. Normally, the default percentage
|
|
of reserved blocks is 5%.
|
|
.TP
|
|
.BI \-M " last-mounted-directory"
|
|
Set the last-mounted directory for the filesystem.
|
|
.TP
|
|
.BR \-o " [^]\fImount-option\fR[,...]"
|
|
Set or clear the indicated default mount options in the filesystem.
|
|
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 filesystem's superblock;
|
|
mount options without a prefix character or prefixed with a plus
|
|
character ('+') will be added to the filesystem.
|
|
.IP
|
|
The following mount options can be set or cleared using
|
|
.BR tune2fs :
|
|
.RS 1.2i
|
|
.TP
|
|
.B debug
|
|
Enable debugging code for this filesystem.
|
|
.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 filesystem is mounted with journalling enabled, all data
|
|
(not just metadata) is committed into the journal prior to being written
|
|
into the main filesystem.
|
|
.TP
|
|
.B journal_data_ordered
|
|
When the filesystem is mounted with journalling 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 filesystem is mounted with journalling enabled, data may be
|
|
written into the main filesystem 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. 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
|
|
.BR tune2fs :
|
|
.RS 1.2i
|
|
.TP
|
|
.B 64bit
|
|
Enable the file system to be larger than 2^32 blocks.
|
|
.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 filesystem feature.
|
|
.TP
|
|
.B encrypt
|
|
Enable support for file system level encryption.
|
|
.B Tune2fs
|
|
currently only supports setting this filesystem 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 filesystem 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
|
|
Use a journal to ensure filesystem consistency even across unclean shutdowns.
|
|
Setting the filesystem feature is equivalent to using the
|
|
.B \-j
|
|
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 filesystem feature.
|
|
.TP
|
|
.B huge_file
|
|
Support files larger than 2 terabytes in size.
|
|
.TP
|
|
.B large_file
|
|
Filesystem 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 filesystem to store the metadata checksum seed in the
|
|
superblock, enabling the administrator to change the UUID of a filesystem
|
|
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 filesystem feature.
|
|
.TP
|
|
.B sparse_super
|
|
Limit the number of backup superblocks to save space on large filesystems.
|
|
.B Tune2fs
|
|
currently only supports setting this filesystem feature.
|
|
.TP
|
|
.B stable_inodes
|
|
Prevent the filesystem 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 filesystem 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 filesystem, 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 filesystem feature.
|
|
.RE
|
|
.IP
|
|
After setting or clearing
|
|
.BR sparse_super ,
|
|
.BR uninit_bg ,
|
|
.BR filetype ,
|
|
or
|
|
.B resize_inode
|
|
filesystem features,
|
|
the file system may require being checked using
|
|
.BR e2fsck (8)
|
|
to return the filesystem 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 filesystem features may prevent the filesystem 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 filesystem.
|
|
.TP
|
|
.BI \-r " reserved-blocks-count"
|
|
Set the number of reserved filesystem blocks.
|
|
.TP
|
|
.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 filesystem 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 filesystem, and then check the filesystem
|
|
during off hours to make sure it hasn't been corrupted due to
|
|
hardware problems, etc. If the filesystem was clean, then this option can
|
|
be used to set the last checked time on the original filesystem. 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.
|
|
.I user
|
|
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
|
|
.IR UUID .
|
|
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
|
|
.TP
|
|
.I random
|
|
generate a new randomly-generated UUID
|
|
.TP
|
|
.I time
|
|
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.
|
|
If the system does not have a good random number generator such as
|
|
.I /dev/random
|
|
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>. 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
|
|
http://e2fsprogs.sourceforge.net.
|
|
.SH SEE ALSO
|
|
.BR debugfs (8),
|
|
.BR dumpe2fs (8),
|
|
.BR e2fsck (8),
|
|
.BR mke2fs (8),
|
|
.BR ext4 (5)
|