]> git.ipfire.org Git - thirdparty/e2fsprogs.git/blame - misc/mke2fs.8.in
debugfs: output large directory size
[thirdparty/e2fsprogs.git] / misc / mke2fs.8.in
CommitLineData
3839e657 1.\" -*- nroff -*-
a418d3ad
TT
2.\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved.
3.\" This file may be copied under the terms of the GNU Public License.
98794d0e 4.\"
74becf3c 5.TH MKE2FS 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
3839e657 6.SH NAME
4f858546 7mke2fs \- create an ext2/ext3/ext4 filesystem
3839e657
TT
8.SH SYNOPSIS
9.B mke2fs
10[
11.B \-c
98794d0e 12|
3839e657 13.B \-l
1e3472c5 14.I filename
3839e657
TT
15]
16[
17.B \-b
1e3472c5 18.I block-size
3839e657
TT
19]
20[
75dd3c47
TN
21.B \-C
22.I cluster-size
23]
24[
4407ea3b
DW
25.B \-d
26.I root-directory
27]
28[
37c8db7b
TT
29.B \-D
30]
31[
5e05541a
TT
32.B \-g
33.I blocks-per-group
34]
35[
9ba40002
TT
36.B \-G
37.I number-of-groups
38]
39[
3839e657 40.B \-i
1e3472c5 41.I bytes-per-inode
3839e657
TT
42]
43[
067911ae
AD
44.B \-I
45.I inode-size
46]
47[
85ef4ae8 48.B \-j
dc2ec525
TT
49]
50[
51.B \-J
8ddaa66b 52.I journal-options
85ef4ae8
TT
53]
54[
5515e6b4
TT
55.B \-N
56.I number-of-inodes
57]
58[
a26ba650 59.B \-n
2740156b
TT
60]
61[
3839e657 62.B \-m
1e3472c5
TT
63.I reserved-blocks-percentage
64]
65[
66.B \-o
67.I creator-os
3839e657
TT
68]
69[
98794d0e 70.B \-O
5c4c3876 71[^]\fIfeature\fR[,...]
896938d5
TT
72]
73[
f3db3566
TT
74.B \-q
75]
76[
caf8ce4c
TT
77.B \-r
78.I fs-revision-level
a29f4d30
TT
79]
80[
c6a44136
TT
81.B \-E
82.I extended-options
521e3685
TT
83]
84[
3839e657
TT
85.B \-v
86]
f3db3566 87[
74becf3c
TT
88.B \-F
89]
90[
1e3472c5
TT
91.B \-L
92.I volume-label
93]
94[
95.B \-M
96.I last-mounted-directory
97]
98[
f3db3566
TT
99.B \-S
100]
818180cd 101[
3d43836f
TT
102.B \-t
103.I fs-type
104]
105[
50787ea2 106.B \-T
3d43836f 107.I usage-type
50787ea2
TT
108]
109[
b0afdda1
TT
110.B \-U
111.I UUID
112]
113[
818180cd
TT
114.B \-V
115]
cd32129d
DW
116[
117.B \-e
118.I errors-behavior
119]
2d291b3c
DW
120[
121.B \-z
122.I undo_file
123]
1e3472c5 124.I device
3839e657 125[
9ac2930c 126.I fs-size
3839e657 127]
48015ced 128@JDEV@.sp
8d641749 129@JDEV@.B "mke2fs \-O journal_dev"
48015ced
TT
130@JDEV@[
131@JDEV@.B \-b
132@JDEV@.I block-size
133@JDEV@]
8d641749 134.\" No external-journal specific journal options yet (size is ignored)
48015ced
TT
135.\" @JDEV@[
136.\" @JDEV@.B \-J
137.\" @JDEV@.I journal-options
138.\" @JDEV@]
139@JDEV@[
140@JDEV@.B \-L
141@JDEV@.I volume-label
142@JDEV@]
143@JDEV@[
144@JDEV@.B \-n
145@JDEV@]
146@JDEV@[
147@JDEV@.B \-q
148@JDEV@]
149@JDEV@[
150@JDEV@.B \-v
151@JDEV@]
8d641749 152@JDEV@.I external-journal
2d15576d 153@JDEV@[
9ac2930c 154@JDEV@.I fs-size
2d15576d 155@JDEV@]
3839e657
TT
156.SH DESCRIPTION
157.B mke2fs
4f858546 158is used to create an ext2, ext3, or ext4 filesystem, usually in a disk
9ac2930c
TT
159partition (or file) named by
160.IR device .
161.PP
162The file system size is specified by
163.IR fs-size .
164If
165.I fs-size
166does not have a suffix, it is interpreted as power-of-two kilobytes,
167unless the
168.B \-b
169.I blocksize
170option is specified, in which case
171.I fs-size
172is interpreted as the number of
173.I blocksize
174blocks. If the fs-size is suffixed by 'k', 'm', 'g', 't'
175(either upper-case or lower-case), then it is interpreted in
176power-of-two kilobytes, megabytes, gigabytes, terabytes, etc.
177If
178.I fs-size
179is omitted,
3839e657 180.B mke2fs
9ac2930c
TT
181will create the file system based on the device size.
182.PP
183If
184.B mke2fs
185is run as
186.B mkfs.XXX
187(i.e.,
188.BR mkfs.ext2 ,
189.BR mkfs.ext3 ,
190or
191.BR mkfs.ext4 )
192the option
193.B \-t
194.I XXX
195is implied; so
0072f8de 196.B mkfs.ext3
9ac2930c
TT
197will create a file system for use with ext3,
198.B mkfs.ext4
199will create a file system for use with ext4, and so on.
de7a86e2
TT
200.PP
201The defaults of the parameters for the newly created filesystem, if not
202overridden by the options listed below, are controlled by the
203.B /etc/mke2fs.conf
204configuration file. See the
205.BR mke2fs.conf (5)
206manual page for more details.
3839e657
TT
207.SH OPTIONS
208.TP
caf8ce4c 209.BI \-b " block-size"
98794d0e 210Specify the size of blocks in bytes. Valid block-size values are 1024,
06968e7e 2112048 and 4096 bytes per block. If omitted,
98794d0e 212block-size is heuristically determined by the filesystem size and
c5290fae 213the expected usage of the filesystem (see the
06968e7e 214.B \-T
98794d0e 215option). If
c5290fae 216.I block-size
eddf36ba 217is preceded by a negative sign ('-'), then
c6a44136
TT
218.B mke2fs
219will use heuristics to determine the
c5290fae 220appropriate block size, with the constraint that the block size will be
98794d0e 221at least
c5290fae
TT
222.I block-size
223bytes. This is useful for certain hardware devices which require that
224the blocksize be a multiple of 2k.
3839e657 225.TP
caf8ce4c 226.B \-c
3ed57c27 227Check the device for bad blocks before creating the file system. If
98794d0e 228this option is specified twice, then a slower read-write
3ed57c27 229test is used instead of a fast read-only test.
3839e657 230.TP
0f680ee8
ZL
231.B \-C " cluster-size"
232Specify the size of cluster in bytes for filesystems using the bigalloc
233feature. Valid cluster-size values are from 2048 to 256M bytes per
9518b297
TT
234cluster. This can only be specified if the bigalloc feature is
235enabled. (See the
236.B ext4 (5)
237man page for more details about bigalloc.) The default cluster size if
238bigalloc is enabled is 16 times the block size.
0f680ee8 239.TP
4407ea3b
DW
240.BI \-d " root-directory"
241Copy the contents of the given directory into the root directory of the
242filesystem.
243.TP
37c8db7b
TT
244.B \-D
245Use direct I/O when writing to the disk. This avoids mke2fs dirtying a
246lot of buffer cache memory, which may impact other applications running
247on a busy server. This option will cause mke2fs to run much more
248slowly, however, so there is a tradeoff to using direct I/O.
249.TP
cd32129d
DW
250.BI \-e " error-behavior"
251Change the behavior of the kernel code when errors are detected.
252In all cases, a filesystem error will cause
253.BR e2fsck (8)
254to check the filesystem on the next boot.
255.I error-behavior
256can be one of the following:
257.RS 1.2i
258.TP 1.2i
259.B continue
260Continue normal execution.
261.TP
262.B remount-ro
263Remount filesystem read-only.
264.TP
265.B panic
266Cause a kernel panic.
267.RE
268.TP
c6a44136
TT
269.BI \-E " extended-options"
270Set extended options for the filesystem. Extended options are comma
271separated, and may take an argument using the equals ('=') sign. The
a26ba650 272.B \-E
98794d0e 273option used to be
a26ba650 274.B \-R
98794d0e 275in earlier versions of
c6a44136 276.BR mke2fs .
98794d0e 277The
a26ba650 278.B \-R
b769aaec
AD
279option is still accepted for backwards compatibility, but is deprecated.
280The following extended options are supported:
c6a44136
TT
281.RS 1.2i
282.TP
0f5eba75
AD
283.BI mmp_update_interval= interval
284Adjust the initial MMP update interval to
285.I interval
286seconds. Specifying an
287.I interval
288of 0 means to use the default interval. The specified interval must
289be less than 300 seconds. Requires that the
290.B mmp
291feature be enabled.
292.TP
0c17cb25 293.BI stride= stride-size
c6a44136 294Configure the filesystem for a RAID array with
0c17cb25
TT
295.I stride-size
296filesystem blocks. This is the number of blocks read or written to disk
98794d0e 297before moving to the next disk, which is sometimes referred to as the
2ac7f066
TT
298.I chunk size.
299This mostly affects placement of filesystem metadata like bitmaps at
a4396e9d 300.B mke2fs
98794d0e
BS
301time to avoid placing them on a single disk, which can hurt performance.
302It may also be used by the block allocator.
0c17cb25 303.TP
d4c0d8e5 304.BI stripe_width= stripe-width
0c17cb25
TT
305Configure the filesystem for a RAID array with
306.I stripe-width
98794d0e 307filesystem blocks per stripe. This is typically stride-size * N, where
2ac7f066 308N is the number of data-bearing disks in the RAID (e.g. for RAID 5 there is one
98794d0e 309parity disk, so N will be the number of disks in the array minus 1).
0c17cb25
TT
310This allows the block allocator to prevent read-modify-write of the
311parity in a RAID stripe if possible when the data is written.
c6a44136 312.TP
88ee023b
TT
313.BI offset= offset
314Create the filesystem at an offset from the beginning of the device or
315file. This can be useful when creating disk images for virtual machines.
316.TP
c6a44136
TT
317.BI resize= max-online-resize
318Reserve enough space so that the block group descriptor table can grow
98794d0e
BS
319to support a filesystem that has
320.I max-online-resize
321blocks.
6cb27404 322.TP
3b4a66cf 323.B lazy_itable_init\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
a4396e9d 324If enabled and the uninit_bg feature is enabled, the inode table will
98794d0e 325not be fully initialized by
a4396e9d
TT
326.BR mke2fs .
327This speeds up filesystem
98794d0e 328initialization noticeably, but it requires the kernel to finish
a4396e9d 329initializing the filesystem in the background when the filesystem is
43781b94 330first mounted. If the option value is omitted, it defaults to 1 to
6c54689f
AD
331enable lazy inode table zeroing.
332.TP
333.B lazy_journal_init\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
334If enabled, the journal inode will not be fully zeroed out by
335.BR mke2fs .
336This speeds up filesystem initialization noticeably, but carries some
337small risk if the system crashes before the journal has been overwritten
338entirely one time. If the option value is omitted, it defaults to 1 to
339enable lazy journal inode zeroing.
a4396e9d 340.TP
6a9c8e0b 341.B no_copy_xattrs
8cec4acd
TT
342Normally
343.B mke2fs
344will copy the extended attributes of the files in the directory
345hierarchy specified via the (optional)
346.B \-d
347option. This will disable the copy and leaves the files in the newly
348created file system without any extended attributes.
349.TP
65c6c3e0
TT
350.BI num_backup_sb= <0|1|2>
351If the
352.B sparse_super2
353file system feature is enabled this option controls whether there will
354be 0, 1, or 2 backup superblocks created in the file system.
355.TP
3c6e91c5
TT
356.B packed_meta_blocks\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
357Place the allocation bitmaps and the inode table at the beginning of the
358disk. This option requires that the flex_bg file system feature to be
359enabled in order for it to have effect, and will also create the journal
360at the beginning of the file system. This option is useful for flash
361devices that use SLC flash at the beginning of the disk.
362It also maximizes the range of contiguous data blocks, which
363can be useful for certain specialized use cases, such as supported
364Shingled Drives.
365.TP
dc9cc700
AD
366.BI root_owner [=uid:gid]
367Specify the numeric user and group ID of the root directory. If no UID:GID
368is specified, use the user and group ID of the user running \fBmke2fs\fR.
369In \fBmke2fs\fR 1.42 and earlier the UID and GID of the root directory were
370set by default to the UID and GID of the user running the mke2fs command.
371The \fBroot_owner=\fR option allows explicitly specifying these values,
372and avoid side-effects for users that do not expect the contents of the
373filesystem to change based on the user running \fBmke2fs\fR.
374.TP
6cb27404
TT
375.B test_fs
376Set a flag in the filesystem superblock indicating that it may be
377mounted using experimental kernel code, such as the ext4dev filesystem.
0bc85dfb 378.TP
6a9c8e0b 379.B discard
0bc85dfb
LC
380Attempt to discard blocks at mkfs time (discarding blocks initially is useful
381on solid state devices and sparse / thin-provisioned storage). When the device
382advertises that discard also zeroes data (any subsequent read after the discard
383and before write returns zero), then mark all not-yet-zeroed inode tables as
384zeroed. This significantly speeds up filesystem initialization. This is set
385as default.
386.TP
6a9c8e0b 387.B nodiscard
855a77a1 388Do not attempt to discard blocks at mkfs time.
9e8fcd6e 389.TP
6a9c8e0b 390.B quotatype
bc8f1ae5
TT
391Specify the which quota types (usrquota, grpquota, prjquota) which
392should be enabled in the created file system. The argument of this
393extended option should be a colon separated list. This option has
394effect only if the
9e8fcd6e 395.B quota
bc8f1ae5
TT
396feature is set. The default quota types to be initialized if this
397option is not specified is both user and group quotas. If the project
398feature is enabled that project quotas will be initialized as well.
c6a44136
TT
399.RE
400.TP
48015ced 401.B \-F
98794d0e 402Force
48015ced 403.B mke2fs
c16e610c
AD
404to create a filesystem, even if the specified device is not a partition
405on a block special device, or if other parameters do not make sense.
98794d0e 406In order to force
c16e610c 407.B mke2fs
98794d0e 408to create a filesystem even if the filesystem appears to be in use
c16e610c
AD
409or is mounted (a truly dangerous thing to do), this option must be
410specified twice.
48015ced 411.TP
5e05541a
TT
412.BI \-g " blocks-per-group"
413Specify the number of blocks in a block group. There is generally no
98794d0e 414reason for the user to ever set this parameter, as the default is optimal
5e05541a
TT
415for the filesystem. (For administrators who are creating
416filesystems on RAID arrays, it is preferable to use the
417.I stride
418RAID parameter as part of the
e28a1bca 419.B \-E
98794d0e 420option rather than manipulating the number of blocks per group.)
5e05541a 421This option is generally used by developers who
98794d0e 422are developing test cases.
0f680ee8
ZL
423.IP
424If the bigalloc feature is enabled, the
425.B \-g
426option will specify the number of clusters in a block group.
5e05541a 427.TP
9ba40002 428.BI \-G " number-of-groups"
98794d0e 429Specify the number of block groups that will be packed together to
7a9f055f
TT
430create a larger virtual block group (or "flex_bg group") in an
431ext4 filesystem. This improves meta-data locality and performance
432on meta-data heavy workloads. The number of groups must be a power
d04ad325 433of 2 and may only be specified if the
7a9f055f
TT
434.B flex_bg
435filesystem feature is enabled.
9ba40002 436.TP
caf8ce4c 437.BI \-i " bytes-per-inode"
98794d0e 438Specify the bytes/inode ratio.
3839e657
TT
439.B mke2fs
440creates an inode for every
441.I bytes-per-inode
98794d0e 442bytes of space on the disk. The larger the
caf8ce4c 443.I bytes-per-inode
48015ced 444ratio, the fewer inodes will be created. This value generally shouldn't
98794d0e
BS
445be smaller than the blocksize of the filesystem, since in that case more
446inodes would be made than can ever be used. Be warned that it is not
e2883e27
PS
447possible to change this ratio on a filesystem after it is created, so be
448careful deciding the correct value for this parameter. Note that resizing
ce20096f 449a filesystem changes the number of inodes to maintain this ratio.
067911ae
AD
450.TP
451.BI \-I " inode-size"
98794d0e 452Specify the size of each inode in bytes.
886056bd 453The
067911ae 454.I inode-size
98794d0e 455value must be a power of 2 larger or equal to 128. The larger the
067911ae
AD
456.I inode-size
457the more space the inode table will consume, and this reduces the usable
98794d0e 458space in the filesystem and can also negatively impact performance.
886056bd
TT
459It is not
460possible to change this value after the filesystem is created.
461.IP
462In kernels after 2.6.10 and some
463earlier vendor kernels it is possible to utilize inodes larger than
464128 bytes to store
465extended attributes for improved performance.
e67670c3 466Extended attributes
067911ae 467stored in large inodes are not visible with older kernels, and such
d04ad325 468filesystems will not be mountable with 2.4 kernels at all.
886056bd
TT
469.IP
470The default inode size is controlled by the
471.BR mke2fs.conf (5)
472file. In the
473.B mke2fs.conf
474file shipped with e2fsprogs, the default inode size is 256 bytes for
475most file systems, except for small file systems where the inode size
476will be 128 bytes.
98794d0e 477.TP
48015ced
TT
478.B \-j
479Create the filesystem with an ext3 journal. If the
dc2ec525 480.B \-J
48015ced 481option is not specified, the default journal parameters will be used to
98794d0e 482create an appropriately sized journal (given the size of the filesystem)
48015ced
TT
483stored within the filesystem. Note that you must be using a kernel
484which has ext3 support in order to actually make use of the journal.
dc2ec525 485.TP
48015ced 486.BI \-J " journal-options"
dc2ec525 487Create the ext3 journal using options specified on the command-line.
8ddaa66b
TT
488Journal options are comma
489separated, and may take an argument using the equals ('=') sign.
48015ced
TT
490The following journal options are supported:
491.RS 1.2i
dc2ec525 492.TP
48015ced 493.BI size= journal-size
f0865ce4 494Create an internal journal (i.e., stored inside the filesystem) of size
98794d0e 495.I journal-size
8d641749 496megabytes.
98794d0e
BS
497The size of the journal must be at least 1024 filesystem blocks
498(i.e., 1MB if using 1k blocks, 4MB if using 4k blocks, etc.)
57cb2716
SP
499and may be no more than 10,240,000 filesystem blocks or half the total
500file system size (whichever is smaller)
b818205f
TT
501.TP
502.BI location =journal-location
503Specify the location of the journal. The argument
504.I journal-location
505can either be specified as a block number, or if the number has a units
506suffix (e.g., 'M', 'G', etc.) interpret it as the offset from the
507beginning of the file system.
48015ced
TT
508@JDEV@.TP
509@JDEV@.BI device= external-journal
8d641749
TT
510@JDEV@Attach the filesystem to the journal block device located on
511@JDEV@.IR external-journal .
512@JDEV@The external
513@JDEV@journal must already have been created using the command
514@JDEV@.IP
2d15576d
AD
515@JDEV@.B mke2fs -O journal_dev
516@JDEV@.I external-journal
8d641749
TT
517@JDEV@.IP
518@JDEV@Note that
519@JDEV@.I external-journal
520@JDEV@must have been created with the
521@JDEV@same block size as the new filesystem.
3024d887
TT
522@JDEV@In addition, while there is support for attaching
523@JDEV@multiple filesystems to a single external journal,
98794d0e 524@JDEV@the Linux kernel and
3024d887
TT
525@JDEV@.BR e2fsck (8)
526@JDEV@do not currently support shared external journals yet.
2d15576d
AD
527@JDEV@.IP
528@JDEV@Instead of specifying a device name directly,
529@JDEV@.I external-journal
530@JDEV@can also be specified by either
531@JDEV@.BI LABEL= label
532@JDEV@or
533@JDEV@.BI UUID= UUID
534@JDEV@to locate the external journal by either the volume label or UUID
535@JDEV@stored in the ext2 superblock at the start of the journal. Use
536@JDEV@.BR dumpe2fs (8)
537@JDEV@to display a journal device's volume label and UUID. See also the
538@JDEV@.B -L
539@JDEV@option of
540@JDEV@.BR tune2fs (8).
8d641749
TT
541.RE
542@JDEV@.IP
48015ced
TT
543@JDEV@Only one of the
544@JDEV@.BR size " or " device
545@JDEV@options can be given for a filesystem.
48015ced
TT
546.TP
547.BI \-l " filename"
548Read the bad blocks list from
98794d0e 549.IR filename .
3ed57c27 550Note that the block numbers in the bad block list must be generated
98794d0e
BS
551using the same block size as used by
552.BR mke2fs .
553As a result, the
3ed57c27 554.B \-c
98794d0e 555option to
3ed57c27
TT
556.B mke2fs
557is a much simpler and less error-prone method of checking a disk for bad
98794d0e 558blocks before formatting it, as
3ed57c27
TT
559.B mke2fs
560will automatically pass the correct parameters to the
561.B badblocks
562program.
48015ced 563.TP
6a7075df
TT
564.BI \-L " new-volume-label"
565Set the volume label for the filesystem to
566.IR new-volume-label .
567The maximum length of the
568volume label is 16 bytes.
48015ced
TT
569.TP
570.BI \-m " reserved-blocks-percentage"
98794d0e 571Specify the percentage of the filesystem blocks reserved for
029de632 572the super-user. This avoids fragmentation, and allows root-owned
98794d0e 573daemons, such as
029de632 574.BR syslogd (8),
98794d0e
BS
575to continue to function correctly after non-privileged processes are
576prevented from writing to the filesystem. The default percentage
029de632 577is 5%.
dc2ec525 578.TP
98794d0e
BS
579.BI \-M " last-mounted-directory"
580Set the last mounted directory for the filesystem. This might be useful
581for the sake of utilities that key off of the last mounted directory to
bcf5aea2 582determine where the filesystem should be mounted.
85ef4ae8 583.TP
caf8ce4c 584.B \-n
98794d0e
BS
585Causes
586.B mke2fs
587to not actually create a filesystem, but display what it
1f22ce34
TT
588would do if it were to create a filesystem. This can be used to
589determine the location of the backup superblocks for a particular
98794d0e
BS
590filesystem, so long as the
591.B mke2fs
592parameters that were passed when the
1f22ce34 593filesystem was originally created are used again. (With the
98794d0e 594.B \-n
1f22ce34 595option added, of course!)
2740156b 596.TP
caf8ce4c 597.BI \-N " number-of-inodes"
98794d0e
BS
598Overrides the default calculation of the number of inodes that should be
599reserved for the filesystem (which is based on the number of blocks and
600the
caf8ce4c 601.I bytes-per-inode
98794d0e 602ratio). This allows the user to specify the number
5515e6b4
TT
603of desired inodes directly.
604.TP
48015ced 605.BI \-o " creator-os"
98794d0e
BS
606Overrides the default value of the "creator operating system" field of the
607filesystem. The creator field is set by default to the name of the OS the
583ccdc3 608.B mke2fs
98794d0e 609executable was compiled for.
1e3472c5 610.TP
5c4c3876 611.B "\-O \fR[^]\fIfeature\fR[,...]"
98794d0e
BS
612Create a filesystem with the given features (filesystem options),
613overriding the default filesystem options. The features that are
9dc6ad1e
TT
614enabled by default are specified by the
615.I base_features
616relation, either in the
98794d0e 617.I [defaults]
9dc6ad1e
TT
618section in the
619.B /etc/mke2fs.conf
3d43836f 620configuration file,
98794d0e 621or in the
9dc6ad1e 622.I [fs_types]
98794d0e 623subsections for the usage types as specified by the
a26ba650 624.B \-T
3d43836f
TT
625option, further modified by the
626.I features
627relation found in the
98794d0e
BS
628.I [fs_types]
629subsections for the filesystem and usage types. See the
3d43836f
TT
630.BR mke2fs.conf (5)
631manual page for more details.
632The filesystem type-specific configuration setting found in the
9dc6ad1e
TT
633.I [fs_types]
634section will override the global default found in
98794d0e 635.IR [defaults] .
48015ced 636.sp
98794d0e
BS
637The filesystem feature set will be further edited
638using either the feature set specified by this option,
639or if this option is not given, by the
9dc6ad1e 640.I default_features
98794d0e
BS
641relation for the filesystem type being created, or in the
642.I [defaults]
9dc6ad1e
TT
643section of the configuration file.
644.sp
645The filesystem feature set is comprised of a list of features, separated
646by commas, that are to be enabled. To disable a feature, simply
5c4c3876 647prefix the feature name with a caret ('^') character.
3c22bf7e 648Features with dependencies will not be removed successfully.
4727c67d 649The pseudo-filesystem feature "none" will clear all filesystem features.
4727c67d 650.TP
3c22bf7e
TT
651For more information about the features which can be set, please see
652the manual page
653.BR ext4 (5).
1e3472c5 654.TP
8d641749 655.B \-q
98794d0e 656Quiet execution. Useful if
8d641749
TT
657.B mke2fs
658is run in a script.
659.TP
48015ced 660.BI \-r " revision"
a29f4d30 661Set the filesystem revision for the new filesystem. Note that 1.2
98794d0e 662kernels only support revision 0 filesystems. The default is to
48015ced 663create revision 1 filesystems.
a29f4d30 664.TP
caf8ce4c 665.B \-S
a6eeac1c
AD
666Write superblock and group descriptors only. This is an extreme
667measure to be taken only in the very unlikely case that all of
f3db3566 668the superblock and backup superblocks are corrupted, and a last-ditch
a6eeac1c 669recovery method is desired by experienced users. It causes
583ccdc3 670.B mke2fs
a6eeac1c
AD
671to reinitialize the superblock and group descriptors, while not
672touching the inode table and the block and inode bitmaps. The
f3db3566
TT
673.B e2fsck
674program should be run immediately after this option is used, and there
a6eeac1c
AD
675is no guarantee that any data will be salvageable. Due to the wide
676variety of possible options to
6a9c8e0b 677.B mke2fs
a7dc56f4 678that affect the on-disk layout, it is critical to specify exactly
a6eeac1c
AD
679the same format options, such as blocksize, fs-type, feature flags, and
680other tunables when using this option, or the filesystem will be further
681corrupted. In some cases, such as filesystems that have been resized,
682or have had features enabled after format time, it is impossible to
a7dc56f4 683overwrite all of the superblocks correctly, and at least some filesystem
a6eeac1c
AD
684corruption will occur. It is best to run this on a full copy of the
685filesystem so other options can be tried if this doesn't work.
8d641749
TT
686.\" .TP
687.\" .BI \-t " test"
688.\" Check the device for bad blocks before creating the file system
689.\" using the specified test.
818180cd 690.TP
3d43836f 691.BI \-t " fs-type"
4727c67d
UC
692Specify the filesystem type (i.e., ext2, ext3, ext4, etc.) that is
693to be created.
98794d0e
BS
694If this option is not specified,
695.B mke2fs
696will pick a default either via how
697the command was run (for example, using a name of the form mkfs.ext2,
3d43836f 698mkfs.ext3, etc.) or via a default as defined by the
626a2e74 699.B /etc/mke2fs.conf
08c8b1ab
TT
700file. This option controls which filesystem options are used by
701default, based on the
702.B fstypes
703configuration stanza in
626a2e74 704.BR /etc/mke2fs.conf .
08c8b1ab
TT
705.sp
706If the
707.B \-O
708option is used to explicitly add or remove filesystem options that
709should be set in the newly created filesystem, the
710resulting filesystem may not be supported by the requested
711.IR fs-type .
b7150807 712(e.g., "\fBmke2fs \-t ext3 \-O extent /dev/sdXX\fR" will create a
08c8b1ab 713filesystem that is not supported by the ext3 implementation as found in
93aa0246 714the Linux kernel; and "\fBmke2fs \-t ext3 \-O ^has_journal /dev/hdXX\fR"
08c8b1ab
TT
715will create a filesystem that does not have a journal and hence will not
716be supported by the ext3 filesystem code in the Linux kernel.)
3d43836f
TT
717.TP
718.BI \-T " usage-type[,...]"
98794d0e
BS
719Specify how the filesystem is going to be used, so that
720.B mke2fs
3d43836f
TT
721can choose optimal filesystem parameters for that use. The usage
722types that are supported are defined in the configuration file
626a2e74 723.BR /etc/mke2fs.conf .
3d43836f
TT
724The user may specify one or more usage types
725using a comma separated list.
726.sp
727If this option is is not specified,
728.B mke2fs
729will pick a single default usage type based on the size of the filesystem to
0745e787 730be created. If the filesystem size is less than 3 megabytes,
a4396e9d 731.B mke2fs
3d43836f
TT
732will use the filesystem type
733.IR floppy .
0745e787 734If the filesystem size is greater than or equal to 3 but less than
3d43836f
TT
735512 megabytes,
736.BR mke2fs (8)
9a2767ff 737will use the filesystem type
3d43836f 738.IR small .
9a2767ff
NK
739If the filesystem size is greater than or equal to 4 terabytes but less than
74016 terabytes,
741.BR mke2fs (8)
742will use the filesystem type
743.IR big .
744If the filesystem size is greater than or equal to 16 terabytes,
745.BR mke2fs (8)
746will use the filesystem type
747.IR huge .
3d43836f
TT
748Otherwise,
749.BR mke2fs (8)
750will use the default filesystem type
751.IR default .
48015ced 752.TP
b0afdda1 753.BI \-U " UUID"
665ebf37
DD
754Set the universally unique identifier (UUID) of the filesystem to
755.IR UUID .
756The format of the UUID is a series of hex digits separated by hyphens,
757like this:
758"c1b9d5a2-f162-11cf-9ece-0020afc76f16".
759The
760.I UUID
761parameter may also be one of the following:
762.RS 1.2i
763.TP
764.I clear
765clear the filesystem UUID
766.TP
767.I random
768generate a new randomly-generated UUID
769.TP
770.I time
771generate a new time-based UUID
772.RE
b0afdda1 773.TP
48015ced
TT
774.B \-v
775Verbose execution.
50787ea2 776.TP
caf8ce4c 777.B \-V
98794d0e 778Print the version number of
818180cd
TT
779.B mke2fs
780and exit.
2d291b3c
DW
781.TP
782.BI \-z " undo_file"
783Before overwriting a file system block, write the old contents of the block to
784an undo file. This undo file can be used with e2undo(8) to restore the old
785contents of the file system should something go wrong. If the empty string is
786passed as the undo_file argument, the undo file will be written to a file named
787mke2fs-\fIdevice\fR.e2undo in the directory specified via the
788\fIE2FSPROGS_UNDO_DIR\fR environment variable or the \fIundo_dir\fR directive
789in the configuration file.
790
791WARNING: The undo file cannot be used to recover from a power or system crash.
5182ad4c
NK
792.SH ENVIRONMENT
793.TP
6a9c8e0b 794.B MKE2FS_SYNC
5182ad4c
NK
795If set to non-zero integer value, its value is used to determine how often
796.BR sync (2)
797is called during inode table initialization.
798.TP
6a9c8e0b 799.B MKE2FS_CONFIG
5182ad4c
NK
800Determines the location of the configuration file (see
801.BR mke2fs.conf (5)).
802.TP
6a9c8e0b 803.B MKE2FS_FIRST_META_BG
5182ad4c
NK
804If set to non-zero integer value, its value is used to determine first meta
805block group. This is mostly for debugging purposes.
806.TP
6a9c8e0b 807.B MKE2FS_DEVICE_SECTSIZE
75dd3c47
TN
808If set to non-zero integer value, its value is used to determine logical
809sector size of the
810.IR device .
811.TP
6a9c8e0b 812.B MKE2FS_DEVICE_PHYS_SECTSIZE
5182ad4c
NK
813If set to non-zero integer value, its value is used to determine physical
814sector size of the
815.IR device .
816.TP
6a9c8e0b 817.B MKE2FS_SKIP_CHECK_MSG
5182ad4c
NK
818If set, do not show the message of filesystem automatic check caused by
819mount count or check interval.
3839e657
TT
820.SH AUTHOR
821This version of
822.B mke2fs
a418d3ad 823has been written by Theodore Ts'o <tytso@mit.edu>.
3839e657
TT
824.SH AVAILABILITY
825.B mke2fs
98794d0e 826is part of the e2fsprogs package and is available from
348e43dc 827http://e2fsprogs.sourceforge.net.
3839e657 828.SH SEE ALSO
9dc6ad1e 829.BR mke2fs.conf (5),
e72a9ba3 830.BR badblocks (8),
3839e657
TT
831.BR dumpe2fs (8),
832.BR e2fsck (8),
3c22bf7e
TT
833.BR tune2fs (8),
834.BR ext4 (5)