X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=misc%2Fmke2fs.8.in;h=c0b5324569a186bafe6e6d39f04a2e73c3c194d2;hb=b575249eb334e3f95319eea68c9606f43db05a07;hp=bfd421e9b4eb4dcf0c5cfbf490e553e324b95173;hpb=b71508075780cfb31258c006a2c6bf08b061d421;p=tools%2Fe2fsprogs.git diff --git a/misc/mke2fs.8.in b/misc/mke2fs.8.in index bfd421e..c0b5324 100644 --- a/misc/mke2fs.8.in +++ b/misc/mke2fs.8.in @@ -4,7 +4,7 @@ .\" .TH MKE2FS 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@" .SH NAME -mke2fs \- create an ext2/ext3/ext4 filesystem +mke2fs \- create an ext2/ext3/ext4 file system .SH SYNOPSIS .B mke2fs [ @@ -18,8 +18,15 @@ mke2fs \- create an ext2/ext3/ext4 filesystem .I block-size ] [ -.B \-f -.I fragment-size +.B \-C +.I cluster-size +] +[ +.B \-d +.I root-directory +] +[ +.B \-D ] [ .B \-g @@ -61,7 +68,7 @@ mke2fs \- create an ext2/ext3/ext4 filesystem ] [ .B \-O -.IR feature [,...] +[^]\fIfeature\fR[,...] ] [ .B \-q @@ -106,9 +113,17 @@ mke2fs \- create an ext2/ext3/ext4 filesystem [ .B \-V ] +[ +.B \-e +.I errors-behavior +] +[ +.B \-z +.I undo_file +] .I device [ -.I blocks-count +.I fs-size ] @JDEV@.sp @JDEV@.B "mke2fs \-O journal_dev" @@ -136,25 +151,54 @@ mke2fs \- create an ext2/ext3/ext4 filesystem @JDEV@] @JDEV@.I external-journal @JDEV@[ -@JDEV@.I blocks-count +@JDEV@.I fs-size @JDEV@] .SH DESCRIPTION .B mke2fs -is used to create an ext2, ext3, or ext4 filesystem, usually in a disk -partition. -.I device -is the special file corresponding to the device (e.g -.IR /dev/hdXX ). -.I blocks-count -is the number of blocks on the device. If omitted, +is used to create an ext2, ext3, or ext4 file system, usually in a disk +partition (or file) named by +.IR device . +.PP +The file system size is specified by +.IR fs-size . +If +.I fs-size +does not have a suffix, it is interpreted as power-of-two kilobytes, +unless the +.B \-b +.I blocksize +option is specified, in which case +.I fs-size +is interpreted as the number of +.I blocksize +blocks. If the fs-size is suffixed by 'k', 'm', 'g', 't' +(either upper-case or lower-case), then it is interpreted in +power-of-two kilobytes, megabytes, gigabytes, terabytes, etc. +If +.I fs-size +is omitted, +.B mke2fs +will create the file system based on the device size. +.PP +If .B mke2fs -automagically figures the file system size. If called as +is run as +.B mkfs.XXX +(i.e., +.BR mkfs.ext2 , +.BR mkfs.ext3 , +or +.BR mkfs.ext4 ) +the option +.B \-t +.I XXX +is implied; so .B mkfs.ext3 -a journal is created as if the -.B \-j -option was specified. +will create a file system for use with ext3, +.B mkfs.ext4 +will create a file system for use with ext4, and so on. .PP -The defaults of the parameters for the newly created filesystem, if not +The defaults of the parameters for the newly created file system, if not overridden by the options listed below, are controlled by the .B /etc/mke2fs.conf configuration file. See the @@ -163,12 +207,14 @@ manual page for more details. .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 -the expected usage of the filesystem (see the +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 +file systems 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 file system size and +the expected usage of the file system (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 @@ -184,8 +230,46 @@ Check the device for bad blocks before creating the file system. If this option is specified twice, then a slower read-write test is used instead of a fast read-only test. .TP +.B \-C " cluster-size" +Specify the size of cluster in bytes for file systems using the bigalloc +feature. Valid cluster-size values are from 2048 to 256M bytes per +cluster. This can only be specified if the bigalloc feature is +enabled. (See the +.B ext4 (5) +man page for more details about bigalloc.) The default cluster size if +bigalloc is enabled is 16 times the block size. +.TP +.BI \-d " root-directory" +Copy the contents of the given directory into the root directory of the +file system. +.TP +.B \-D +Use direct I/O when writing to the disk. This avoids mke2fs dirtying a +lot of buffer cache memory, which may impact other applications running +on a busy server. This option will cause mke2fs to run much more +slowly, however, so there is a tradeoff to using direct I/O. +.TP +.BI \-e " error-behavior" +Change the behavior of the kernel code when errors are detected. +In all cases, a file system error will cause +.BR e2fsck (8) +to check the file system 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 file system 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 +Set extended options for the file system. Extended options are comma separated, and may take an argument using the equals ('=') sign. The .B \-E option used to be @@ -194,33 +278,72 @@ in earlier versions of .BR mke2fs . The .B \-R -option is still accepted for backwards compatibility. The -following extended options are supported: +option is still accepted for backwards compatibility, but is deprecated. +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 +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 +Configure the file system for a RAID array with .I stride-size -filesystem blocks. This is the number of blocks read or written to disk +file system blocks. This is the number of blocks read or written to disk before moving to the next disk, which is sometimes referred to as the .I chunk size. -This mostly affects placement of filesystem metadata like bitmaps at +This mostly affects placement of file system metadata like bitmaps at .B mke2fs time to avoid placing them on a single disk, which can hurt performance. It may also be used by the block allocator. .TP -.BI stripe-width= stripe-width -Configure the filesystem for a RAID array with +.BI stripe_width= stripe-width +Configure the file system for a RAID array with .I stripe-width -filesystem blocks per stripe. This is typically stride-size * N, where +file system blocks per stripe. This is typically stride-size * N, where N is the number of data-bearing disks in the RAID (e.g. for RAID 5 there is one parity disk, so N will be the number of disks in the array minus 1). 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 offset= offset +Create the file system at an offset from the beginning of the device or +file. This can be useful when creating disk images for virtual machines. +.TP .BI resize= max-online-resize Reserve enough space so that the block group descriptor table can grow -to support a filesystem that has +to support a file system that has .I max-online-resize blocks. .TP @@ -228,62 +351,115 @@ blocks. If enabled and the uninit_bg feature is enabled, the inode table will not be fully initialized by .BR mke2fs . -This speeds up filesystem +This speeds up file system initialization noticeably, but it requires the kernel to finish -initializing the filesystem in the background when the filesystem is +initializing the file system in the background when the file system is first mounted. If the option value is omitted, it defaults to 1 to -enable lazy inode table initialization. +enable lazy inode table zeroing. +.TP +.B lazy_journal_init\fR[\fB= \fI<0 to disable, 1 to enable>\fR] +If enabled, the journal inode will not be fully zeroed out by +.BR mke2fs . +This speeds up file system initialization noticeably, but carries some +small risk if the system crashes before the journal has been overwritten +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 +file system feature is enabled this option controls whether there will +be 0, 1, or 2 backup superblocks created in the file system. +.TP +.B packed_meta_blocks\fR[\fB= \fI<0 to disable, 1 to enable>\fR] +Place the allocation bitmaps and the inode table at the beginning of the +disk. This option requires that the flex_bg file system feature to be +enabled in order for it to have effect, and will also create the journal +at the beginning of the file system. This option is useful for flash +devices that use SLC flash at the beginning of the disk. +It also maximizes the range of contiguous data blocks, which +can be useful for certain specialized use cases, such as supported +Shingled Drives. +.TP +.BI root_owner [=uid:gid] +Specify the numeric user and group ID of the root directory. If no UID:GID +is specified, use the user and group ID of the user running \fBmke2fs\fR. +In \fBmke2fs\fR 1.42 and earlier the UID and GID of the root directory were +set by default to the UID and GID of the user running the mke2fs command. +The \fBroot_owner=\fR option allows explicitly specifying these values, +and avoid side-effects for users that do not expect the contents of the +file system to change based on the user running \fBmke2fs\fR. .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. +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 -.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 and before write returns zero), then mark all not-yet-zeroed inode tables as -zeroed. This significantly speeds up filesystem initialization. This is set +zeroed. This significantly speeds up file system initialization. This is set as default. .TP -.BI nodiscard +.B nodiscard Do not attempt to discard blocks at mkfs time. -.RE .TP -.BI \-f " fragment-size" -Specify the size of fragments in bytes. +.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 +effect only if the +.B quota +feature is set. The default quota types to be initialized if this +option is not specified is both user and group quotas. If the project +feature is enabled that project quotas will be initialized as well. +.RE .TP .B \-F Force .B mke2fs -to create a filesystem, even if the specified device is not a partition +to create a file system, even if the specified device is not a partition on a block special device, or if other parameters do not make sense. In order to force .B mke2fs -to create a filesystem even if the filesystem appears to be in use +to create a file system even if the file system appears to be in use or is mounted (a truly dangerous thing to do), this option must be specified twice. .TP .BI \-g " blocks-per-group" Specify the number of blocks in a block group. There is generally no reason for the user to ever set this parameter, as the default is optimal -for the filesystem. (For administrators who are creating -filesystems on RAID arrays, it is preferable to use the +for the file system. (For administrators who are creating +file systems on RAID arrays, it is preferable to use the .I stride RAID parameter as part of the .B \-E option rather than manipulating the number of blocks per group.) This option is generally used by developers who are developing test cases. +.IP +If the bigalloc feature is enabled, the +.B \-g +option will specify the number of clusters in a block group. .TP .BI \-G " number-of-groups" Specify the number of block groups that will be packed together to create a larger virtual block group (or "flex_bg group") in an -ext4 filesystem. This improves meta-data locality and performance +ext4 file system. This improves meta-data locality and performance on meta-data heavy workloads. The number of groups must be a power -of 2 and may only be specified if the +of 2 and may only be specified if the .B flex_bg -filesystem feature is enabled. +file system feature is enabled. .TP .BI \-i " bytes-per-inode" Specify the bytes/inode ratio. @@ -293,35 +469,42 @@ creates an inode for every bytes of space on the disk. The larger the .I bytes-per-inode ratio, the fewer inodes will be created. This value generally shouldn't -be smaller than the blocksize of the filesystem, since in that case more +be smaller than the blocksize of the file system, since in that case more inodes would be made than can ever be used. Be warned that it is not -possible to expand the number -of inodes on a filesystem after it is created, so be careful deciding the -correct value for this parameter. +possible to change this ratio on a file system after it is created, so be +careful deciding the correct value for this parameter. Note that resizing +a file system changes the number of inodes to maintain this ratio. .TP .BI \-I " inode-size" Specify the size of each inode in bytes. -.B mke2fs -creates 256-byte inodes by default. 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. The +The .I inode-size value must be a power of 2 larger or equal to 128. The larger the .I inode-size the more space the inode table will consume, and this reduces the usable -space in the filesystem and can also negatively impact 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. It is not -possible to change this value after the filesystem is created. +space in the file system and can also negatively impact performance. +It is not +possible to change this value after the file system is created. +.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. +.IP +The default inode size is controlled by the +.BR mke2fs.conf (5) +file. In the +.B mke2fs.conf +file shipped with e2fsprogs, the default inode size is 256 bytes for +most file systems, except for small file systems where the inode size +will be 128 bytes. .TP .B \-j -Create the filesystem with an ext3 journal. If the +Create the file system with an ext3 journal. 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 +create 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. .TP .BI \-J " journal-options" @@ -332,15 +515,44 @@ The following journal options are supported: .RS 1.2i .TP .BI size= journal-size -Create an internal journal (i.e., stored inside the filesystem) of size +Create an internal journal (i.e., stored inside the file system) of size .I journal-size megabytes. -The size of the journal must be at least 1024 filesystem blocks +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. +and may be no more than 10,240,000 file system 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 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@The external @JDEV@journal must already have been created using the command @@ -351,9 +563,9 @@ and may be no more than 102,400 filesystem blocks. @JDEV@Note that @JDEV@.I external-journal @JDEV@must have been created with the -@JDEV@same block size as the new filesystem. +@JDEV@same block size as the new file system. @JDEV@In addition, while there is support for attaching -@JDEV@multiple filesystems to a single external journal, +@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. @@ -375,7 +587,7 @@ and may be no more than 102,400 filesystem blocks. @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 .BI \-l " filename" Read the bad blocks list from @@ -395,41 +607,41 @@ will automatically pass the correct parameters to the program. .TP .BI \-L " new-volume-label" -Set the volume label for the filesystem to +Set the volume label for the file system to .IR new-volume-label . The maximum length of the volume label is 16 bytes. .TP .BI \-m " reserved-blocks-percentage" -Specify the percentage of the filesystem blocks reserved for +Specify the percentage of the file system blocks reserved for the super-user. This avoids fragmentation, and allows root-owned daemons, such as .BR syslogd (8), to continue to function correctly after non-privileged processes are -prevented from writing to the filesystem. The default percentage +prevented from writing to the file system. The default percentage is 5%. .TP .BI \-M " last-mounted-directory" -Set the last mounted directory for the filesystem. This might be useful +Set the last mounted directory for the file system. This might be useful for the sake of utilities that key off of the last mounted directory to -determine where the filesystem should be mounted. +determine where the file system should be mounted. .TP .B \-n Causes .B mke2fs -to not actually create a filesystem, but display what it -would do if it were to create a filesystem. This can be used to +to not actually create a file system, but display what it +would do if it were to create a file system. This can be used to determine the location of the backup superblocks for a particular -filesystem, so long as the +file system, so long as the .B mke2fs parameters that were passed when the -filesystem was originally created are used again. (With the +file system was originally created are used again. (With the .B \-n option added, of course!) .TP .BI \-N " number-of-inodes" Overrides the default calculation of the number of inodes that should be -reserved for the filesystem (which is based on the number of blocks and +reserved for the file system (which is based on the number of blocks and the .I bytes-per-inode ratio). This allows the user to specify the number @@ -437,13 +649,13 @@ of desired inodes directly. .TP .BI \-o " creator-os" Overrides the default value of the "creator operating system" field of the -filesystem. The creator field is set by default to the name of the OS the +file system. The creator field is set by default to the name of the OS the .B mke2fs executable was compiled for. .TP -.B "\-O \fIfeature\fR[,...]" -Create a filesystem with the given features (filesystem options), -overriding the default filesystem options. The features that are +.B "\-O \fR[^]\fIfeature\fR[,...]" +Create a file system with the given features (file system options), +overriding the default file system options. The features that are enabled by default are specified by the .I base_features relation, either in the @@ -459,93 +671,31 @@ option, further modified by the .I features relation found in the .I [fs_types] -subsections for the filesystem and usage types. See the +subsections for the file system and usage types. See the .BR mke2fs.conf (5) manual page for more details. -The filesystem type-specific configuration setting found in the +The file system type-specific configuration setting found in the .I [fs_types] section will override the global default found in .IR [defaults] . .sp -The filesystem feature set will be further edited +The file system feature set will be further edited using either the feature set specified by this option, or if this option is not given, by the .I default_features -relation for the filesystem type being created, or in the +relation for the file system type being created, or in the .I [defaults] section of the configuration file. .sp -The filesystem feature set is comprised of a list of features, separated +The file system feature set is comprised of a list of features, separated by commas, that are to be enabled. To disable a feature, simply -prefix the feature name with a caret ('^') character. The -pseudo-filesystem feature "none" will clear all filesystem features. -.RS 1.2i -.TP -.B dir_index -Use hashed b-trees to speed up lookups in large directories. -.TP -.B extent -Instead of using the indirect block scheme for storing the location of -data blocks in an inode, use extents instead. This is a much more -efficient encoding which speeds up filesystem access, especially for -large files. +prefix the feature name with a caret ('^') character. +Features with dependencies will not be removed successfully. +The pseudo-file system feature "none" will clear all file system features. .TP -.B filetype -Store file type information in directory entries. -.TP -.B flex_bg -Allow the per-block group metadata (allocation bitmaps and inode tables) -to be placed anywhere on the storage media. In addition, -.B mke2fs -will place the per-block group metadata together starting at the first -block group of each "flex_bg group". The size of the flex_bg group -can be specified using the -.B \-G -option. -.TP -.B has_journal -Create an ext3 journal (as if using the -.B \-j -option). -@JDEV@.TP -@JDEV@.B journal_dev -@JDEV@Create an external ext3 journal on the given device -@JDEV@instead of a regular ext2 filesystem. -@JDEV@Note that -@JDEV@.I external-journal -@JDEV@must be created with the same -@JDEV@block size as the filesystems that will be using it. -.TP -.B large_file -Filesystem can contain files that are greater than 2GB. (Modern kernels -set this feature automatically when a file > 2GB is created.) -.TP -.B resize_inode -Reserve space so the block group descriptor table may grow in the future. -Useful for online resizing using -.BR resize2fs . -By default -.B mke2fs -will attempt to reserve enough space so that the -filesystem may grow to 1024 times its initial size. This can be changed -using the -.B resize -extended option. -.TP -.B sparse_super -Create a filesystem with fewer superblock backup copies -(saves space on large filesystems). -.TP -.B uninit_bg -Create a filesystem without initializing all of the block groups. This -feature also enables checksums and highest-inode-used statistics in each -blockgroup. This feature can -speed up filesystem creation time noticeably (if lazy_itable_init is -enabled), and can also reduce -.BR e2fsck -time dramatically. It is only supported by the ext4 filesystem in -recent Linux kernels. -.RE +For more information about the features which can be set, please see +the manual page +.BR ext4 (5). .TP .B \-q Quiet execution. Useful if @@ -553,82 +703,118 @@ Quiet execution. Useful if is run in a script. .TP .BI \-r " revision" -Set the filesystem revision for the new filesystem. Note that 1.2 -kernels only support revision 0 filesystems. The default is to -create revision 1 filesystems. +Set the file system revision for the new file system. Note that 1.2 +kernels only support revision 0 file systems. The default is to +create revision 1 file systems. .TP .B \-S -Write superblock and group descriptors only. This is useful if all of +Write superblock and group descriptors only. This is an extreme +measure to be taken only in the very unlikely case that all of the superblock and backup superblocks are corrupted, and a last-ditch -recovery method is desired. It causes +recovery method is desired by experienced users. It causes .B mke2fs -to reinitialize the -superblock and group descriptors, while not touching the inode table -and the block and inode bitmaps. The +to reinitialize the superblock and group descriptors, while not +touching the inode table and the block and inode bitmaps. The .B e2fsck program should be run immediately after this option is used, and there -is no guarantee that any data will be salvageable. It is critical to -specify the correct filesystem blocksize when using this option, -or there is no chance of recovery. +is no guarantee that any data will be salvageable. Due to the wide +variety of possible options to +.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 file system will be further +corrupted. In some cases, such as file systems that have been resized, +or have had features enabled after format time, it is impossible to +overwrite all of the superblocks correctly, and at least some file system +corruption will occur. It is best to run this on a full copy of the +file system so other options can be tried if this doesn't work. .\" .TP .\" .BI \-t " test" .\" Check the device for bad blocks before creating the file system .\" using the specified test. .TP .BI \-t " fs-type" -Specify the filesystem type (i.e., ext2, ext3, ext4, etc.) that is to be created. +Specify the file system type (i.e., ext2, ext3, ext4, etc.) that is +to be created. If this option is not specified, .B mke2fs will pick a default either via how the command was run (for example, using a name of the form mkfs.ext2, mkfs.ext3, etc.) or via a default as defined by the -.BR /etc/mke2fs.conf (5) -file. This option controls which filesystem options are used by +.B /etc/mke2fs.conf +file. This option controls which file system options are used by default, based on the .B fstypes configuration stanza in -.BR /etc/mke2fs.conf (5). +.BR /etc/mke2fs.conf . .sp If the .B \-O -option is used to explicitly add or remove filesystem options that -should be set in the newly created filesystem, the -resulting filesystem may not be supported by the requested +option is used to explicitly add or remove file system options that +should be set in the newly created file system, the +resulting file system may not be supported by the requested .IR fs-type . (e.g., "\fBmke2fs \-t ext3 \-O extent /dev/sdXX\fR" will create a -filesystem that is not supported by the ext3 implementation as found in +file system that is not supported by the ext3 implementation as found in the Linux kernel; and "\fBmke2fs \-t ext3 \-O ^has_journal /dev/hdXX\fR" -will create a filesystem that does not have a journal and hence will not -be supported by the ext3 filesystem code in the Linux kernel.) +will create a file system that does not have a journal and hence will not +be supported by the ext3 file system code in the Linux kernel.) .TP .BI \-T " usage-type[,...]" -Specify how the filesystem is going to be used, so that +Specify how the file system is going to be used, so that .B mke2fs -can choose optimal filesystem parameters for that use. The usage +can choose optimal file system parameters for that use. The usage types that are supported are defined in the configuration file -.BR /etc/mke2fs.conf (5). +.BR /etc/mke2fs.conf . The user may specify one or more usage types using a comma separated list. .sp If this option is is not specified, .B mke2fs -will pick a single default usage type based on the size of the filesystem to -be created. If the filesystem size is less than or equal to 3 megabytes, +will pick a single default usage type based on the size of the file system to +be created. If the file system size is less than 3 megabytes, .B mke2fs -will use the filesystem type +will use the file system type .IR floppy . -If the filesystem size is greater than 3 but less than or equal to +If the file system size is greater than or equal to 3 but less than 512 megabytes, .BR mke2fs (8) -will use the filesystem +will use the file system type .IR small . +If the file system size is greater than or equal to 4 terabytes but less than +16 terabytes, +.BR mke2fs (8) +will use the file system type +.IR big . +If the file system size is greater than or equal to 16 terabytes, +.BR mke2fs (8) +will use the file system type +.IR huge . Otherwise, .BR mke2fs (8) -will use the default filesystem type +will use the default file system type .IR default . .TP .BI \-U " UUID" -Create the filesystem with the specified UUID. +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 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 file system UUID +.TP +.I random +generate a new randomly-generated UUID +.TP +.I time +generate a new time-based UUID +.RE .TP .B \-v Verbose execution. @@ -637,18 +823,49 @@ Verbose execution. Print the version number of .B mke2fs and exit. +.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 +mke2fs-\fIdevice\fR.e2undo in the directory specified via the +\fIE2FSPROGS_UNDO_DIR\fR environment variable or the \fIundo_dir\fR directive +in the configuration file. + +WARNING: The undo file cannot be used to recover from a power or system crash. +.SH ENVIRONMENT +.TP +.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 +.B MKE2FS_CONFIG +Determines the location of the configuration file (see +.BR mke2fs.conf (5)). +.TP +.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 +.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 +.B MKE2FS_SKIP_CHECK_MSG +If set, do not show the message of file system automatic check caused by +mount count or check interval. .SH AUTHOR This version of .B mke2fs has been written by Theodore Ts'o . -.SH BUGS -.B mke2fs -accepts the -.B \-f -option but currently ignores it because the second -extended file system does not support fragments yet. -.br -There may be other ones. Please, report them to the author. .SH AVAILABILITY .B mke2fs is part of the e2fsprogs package and is available from @@ -658,4 +875,5 @@ http://e2fsprogs.sourceforge.net. .BR badblocks (8), .BR dumpe2fs (8), .BR e2fsck (8), -.BR tune2fs (8) +.BR tune2fs (8), +.BR ext4 (5)