.I block-size
]
[
+.B \-C
+.I cluster-size
+]
+[
.B \-d
.I root-directory
]
.SH OPTIONS
.TP
.BI \-b " block-size"
-Specify the size of blocks in bytes. Valid block-size values are 1024,
-2048 and 4096 bytes per block. If omitted,
-block-size is heuristically determined by the filesystem size and
+Specify the size of blocks in bytes. Valid block-size values are powers of two
+from 1024 up to 65536 (however note that the kernel is able to mount only
+filesystems with block-size smaller or equal to the system page size - 4k on
+x86 systems, up to 64k on ppc64 or aarch64 depending on kernel configuration).
+If omitted, block-size is heuristically determined by the filesystem size and
the expected usage of the filesystem (see the
.B \-T
-option). If
+option). In most common cases, the default block size is 4k. If
.I block-size
is preceded by a negative sign ('-'), then
.B mke2fs
The following extended options are supported:
.RS 1.2i
.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, the encoding defined in
+.BR mke2fs.conf (5)
+is used.
+.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. To disable a
+flag, add it to the list with the prefix "no".
+
+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 mmp_update_interval= interval
Adjust the initial MMP update interval to
.I interval
entirely one time. If the option value is omitted, it defaults to 1 to
enable lazy journal inode zeroing.
.TP
+.B no_copy_xattrs
+Normally
+.B mke2fs
+will copy the extended attributes of the files in the directory
+hierarchy specified via the (optional)
+.B \-d
+option. This will disable the copy and leaves the files in the newly
+created file system without any extended attributes.
+.TP
.BI num_backup_sb= <0|1|2>
If the
.B sparse_super2
Set a flag in the filesystem superblock indicating that it may be
mounted using experimental kernel code, such as the ext4dev filesystem.
.TP
-.BI discard
+.B discard
Attempt to discard blocks at mkfs time (discarding blocks initially is useful
on solid state devices and sparse / thin-provisioned storage). When the device
advertises that discard also zeroes data (any subsequent read after the discard
zeroed. This significantly speeds up filesystem initialization. This is set
as default.
.TP
-.BI nodiscard
+.B nodiscard
Do not attempt to discard blocks at mkfs time.
.TP
-.BI quotatype
+.B quotatype
Specify the which quota types (usrquota, grpquota, prjquota) which
should be enabled in the created file system. The argument of this
extended option should be a colon separated list. This option has
It is not
possible to change this value after the filesystem is created.
.IP
-In kernels after 2.6.10 and some
-earlier vendor kernels it is possible to utilize inodes larger than
-128 bytes to store
-extended attributes for improved performance.
-Extended attributes
-stored in large inodes are not visible with older kernels, and such
-filesystems will not be mountable with 2.4 kernels at all.
+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.
.IP
The default inode size is controlled by the
.BR mke2fs.conf (5)
and may be no more than 10,240,000 filesystem blocks or half the total
file system size (whichever is smaller)
.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
program should be run immediately after this option is used, and there
is no guarantee that any data will be salvageable. Due to the wide
variety of possible options to
-.BR mke2fs
+.B mke2fs
that affect the on-disk layout, it is critical to specify exactly
the same format options, such as blocksize, fs-type, feature flags, and
other tunables when using this option, or the filesystem will be further
WARNING: The undo file cannot be used to recover from a power or system crash.
.SH ENVIRONMENT
.TP
-.BI MKE2FS_SYNC
+.B MKE2FS_SYNC
If set to non-zero integer value, its value is used to determine how often
.BR sync (2)
is called during inode table initialization.
.TP
-.BI MKE2FS_CONFIG
+.B MKE2FS_CONFIG
Determines the location of the configuration file (see
.BR mke2fs.conf (5)).
.TP
-.BI MKE2FS_FIRST_META_BG
+.B MKE2FS_FIRST_META_BG
If set to non-zero integer value, its value is used to determine first meta
block group. This is mostly for debugging purposes.
.TP
-.BI MKE2FS_DEVICE_SECTSIZE
+.B MKE2FS_DEVICE_SECTSIZE
+If set to non-zero integer value, its value is used to determine logical
+sector size of the
+.IR device .
+.TP
+.B MKE2FS_DEVICE_PHYS_SECTSIZE
If set to non-zero integer value, its value is used to determine physical
sector size of the
.IR device .
.TP
-.BI MKE2FS_SKIP_CHECK_MSG
+.B MKE2FS_SKIP_CHECK_MSG
If set, do not show the message of filesystem automatic check caused by
mount count or check interval.
.SH AUTHOR