]> git.ipfire.org Git - thirdparty/e2fsprogs.git/blame - misc/mke2fs.conf.5.in
libss: fix memory handling errors
[thirdparty/e2fsprogs.git] / misc / mke2fs.conf.5.in
CommitLineData
9dc6ad1e
TT
1.\" -*- nroff -*-
2.\" Copyright 2006 by Theodore Ts'o. All Rights Reserved.
3.\" This file may be copied under the terms of the GNU Public License.
4.\"
5.TH mke2fs.conf 5 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
6.SH NAME
7mke2fs.conf \- Configuration file for mke2fs
8.SH DESCRIPTION
9.I mke2fs.conf
10is the configuration file for
11.BR mke2fs (8).
12It controls the default parameters used by
13.BR mke2fs (8)
626a2e74 14when it is creating ext2, ext3, or ext4 filesystems.
9dc6ad1e
TT
15.PP
16The
17.I mke2fs.conf
fac9525e
TT
18file uses an INI-style format. Stanzas, or top-level sections, are
19delimited by square braces: [ ]. Within each section, each line
20defines a relation, which assigns tags to values, or to a subsection,
9dc6ad1e
TT
21which contains further relations or subsections.
22.\" Tags can be assigned multiple values
23An example of the INI-style format used by this configuration file
24follows below:
25.P
fac9525e 26 [section1]
9dc6ad1e 27.br
fac9525e 28 tag1 = value_a
9dc6ad1e 29.br
fac9525e 30 tag1 = value_b
9dc6ad1e 31.br
fac9525e 32 tag2 = value_c
9dc6ad1e 33.P
fac9525e 34 [section 2]
9dc6ad1e 35.br
fac9525e 36 tag3 = {
9dc6ad1e 37.br
fac9525e 38 subtag1 = subtag_value_a
9dc6ad1e 39.br
fac9525e 40 subtag1 = subtag_value_b
9dc6ad1e 41.br
fac9525e 42 subtag2 = subtag_value_c
9dc6ad1e 43.br
fac9525e 44 }
9dc6ad1e 45.br
fac9525e 46 tag1 = value_d
9dc6ad1e 47.br
fac9525e 48 tag2 = value_e
9dc6ad1e 49.br
fac9525e
TT
50 }
51.P
52Comments are delimited by a semicolon (';') or a hash ('#') character
53at the beginning of the comment, and are terminated by the end of
54line character.
55.P
56Tags and values must be quoted using double quotes if they contain
57spaces. Within a quoted string, the standard backslash interpretations
58apply: "\en" (for the newline character),
59"\et" (for the tab character), "\eb" (for the backspace character),
60and "\e\e" (for the backslash character).
9dc6ad1e 61.P
27b422f5
TT
62Some relations expect a boolean value. The parser is quite liberal on
63recognizing ``yes'', '`y'', ``true'', ``t'', ``1'', ``on'', etc. as a
64boolean true value, and ``no'', ``n'', ``false'', ``nil'', ``0'',
65``off'' as a boolean false value.
66.P
9447f38a 67The following stanzas are used in the
9dc6ad1e
TT
68.I mke2fs.conf
69file. They will be described in more detail in future sections of this
70document.
71.TP
72.I [defaults]
4c2b28ab 73Contains relations which define the default parameters
9dc6ad1e
TT
74used by
75.BR mke2fs (8).
76In general, these defaults may be overridden by a definition in the
77.B fs_types
fac9525e 78stanza, or by an command-line option provided by the user.
9dc6ad1e
TT
79.TP
80.I [fs_types]
81Contains relations which define defaults that should be used for specific
82filesystem types. The filesystem type can be specified explicitly using
83the
84.B -T
85option to
86.BR mke2fs (8).
fac9525e 87.SH THE [defaults] STANZA
9dc6ad1e
TT
88The following relations are defined in the
89.I [defaults]
fac9525e 90stanza.
9dc6ad1e
TT
91.TP
92.I base_features
93This relation specifies the filesystems features which are enabled in
9447f38a 94newly created filesystems. It may be overridden by the
9dc6ad1e 95.I base_features
3d43836f 96relation found in the filesystem or usage type subsection of
9dc6ad1e
TT
97the
98.I [fs_types]
fac9525e 99stanza.
9dc6ad1e
TT
100.TP
101.I default_features
102This relation specifies a set of features that should be added or
103removed to the features listed in the
104.I base_features
9447f38a 105relation. It may be overridden by the filesystem-specific
9dc6ad1e 106.I default_features
3d43836f 107in the filesystem or usage type subsection of
9dc6ad1e
TT
108.IR [fs_types] ,
109and by the
110.B -O
111command-line option
112to
113.BR mke2fs (8).
114.TP
3daf5926 115.I enable_periodic_fsck
27b422f5
TT
116This boolean relation specifies whether periodic filesystem checks should be
117enforced at boot time. If set to true, checks will be forced every
3daf5926
ES
118180 days, or after a random number of mounts. These values may
119be changed later via the
120.B -i
121and
122.B -c
123command-line options to
124.BR tune2fs (8).
125.TP
b626b39a 126.I force_undo
27b422f5 127This boolean relation, if set to a value of true, forces
b626b39a
AK
128.B mke2fs
129to always try to create an undo file, even if the undo file might be
130huge and it might extend the time to create the filesystem image
131because the inode table isn't being initialized lazily.
132.TP
3d43836f
TT
133.I fs_type
134This relation specifies the default filesystem type if the user does not
135specify it via the
136.B \-t
137option, or if
138.B mke2fs
139is not started using a program name of the form
140.BI mkfs. fs-type\fR.
141If both the user and the
142.B mke2fs.conf
143file does not specify a default filesystem type, mke2fs will use a
144default filesystem type of
145.IR ext3
146if a journal was requested via a command-line option, or
147.I ext2
148if not.
149.TP
9dc6ad1e
TT
150.I blocksize
151This relation specifies the default blocksize if the user does not
152specify a blocksize on the command line, and the filesystem-type
153specific section of the configuration file does not specify a blocksize.
154.TP
d5f57d95
TT
155.I hash_alg
156This relation specifies the default hash algorithm used for the
157new filesystems with hashed b-tree directories. Valid algorithms
158accepted are:
159.IR legacy ,
160.IR half_md4 ,
161and
162.IR tea .
163.TP
9dc6ad1e
TT
164.I inode_ratio
165This relation specifies the default inode ratio if the user does not
166specify one on the command line, and the filesystem-type
167specific section of the configuration file does not specify a default
168inode ratio.
067911ae
AD
169.TP
170.I inode_size
171This relation specifies the default inode size if the user does not
172specify one on the command line, and the filesystem-type
173specific section of the configuration file does not specify a default
174inode size.
b626b39a 175.TP
d3859af3
AK
176.I reserved_ratio
177This relation specifies the default percentage of filesystem blocks
178reserved for the super-user, if the user does not
179specify one on the command line, and the filesystem-type
180specific section of the configuration file does not specify a default
181reserved ratio. This value can be a floating point number.
182.TP
b626b39a
AK
183.I undo_dir
184This relation specifies the directory where the undo file should be
711d3846 185stored. It can be overridden via the
b626b39a 186.B E2FSPROGS_UNDO_DIR
711d3846 187environment variable. If the directory location is set to the value
b626b39a
AK
188.IR none ,
189.B mke2fs
190will not create an undo file.
fac9525e 191.SH THE [fs_types] STANZA
9dc6ad1e
TT
192Each tag in the
193.I [fs_types]
3d43836f
TT
194stanza names a filesystem type or usage type which can be specified via the
195.B \-t
196or
197.B \-T
198options to
199.BR mke2fs (8),
200respectively.
201.P
202The
203.B mke2fs
204program constructs a list of fs_types by concatenating the filesystem
205type (i.e., ext2, ext3, etc.) with the usage type list. For most
206configuration options,
207.B mke2fs
208will look for a subsection in the
209.I [fs_types]
210stanza corresponding with each entry in the constructed list, with later
211entries overriding earlier filesystem or usage types.
212For
213example, consider the following
214.B mke2fs.conf
215fragment:
9dc6ad1e 216.P
3d43836f
TT
217[defaults]
218.br
219 base_features = sparse_super,filetype,resize_inode,dir_index
220.br
221 blocksize = 4096
222.br
223 inode_size = 256
224.br
225 inode_ratio = 16384
226.br
227
228.br
9dc6ad1e 229[fs_types]
3d43836f
TT
230.br
231 ext3 = {
232.br
233 features = has_journal
234.br
235 }
236.br
237 ext4 = {
238.br
239 features = extents,flex_bg
240.br
241 inode_size = 256
242.br
243 }
9dc6ad1e
TT
244.br
245 small = {
246.br
247 blocksize = 1024
248.br
249 inode_ratio = 4096
250.br
251 }
252.br
253 floppy = {
3d43836f
TT
254.br
255 features = ^resize_inode
9dc6ad1e
TT
256.br
257 blocksize = 1024
3d43836f
TT
258.br
259 inode_size = 128
9dc6ad1e
TT
260.br
261 }
262.P
3d43836f
TT
263If mke2fs started with a program name of
264.BR mke2fs.ext4 ,
265then the filesystem type of ext4 will be used. If the filesystem is
266smaller than 3 megabytes, and no usage type is specified, then
267.B mke2fs
268will use a default
269usage type of
270.IR floppy .
271This results in an fs_types list of "ext4, floppy". Both the ext4
272subsection and the floppy subsection define an
273.I inode_size
711d3846 274relation, but since the later entries in the fs_types list supersede
3d43836f
TT
275earlier ones, the configuration parameter for fs_types.floppy.inode_size
276will be used, so the filesystem will have an inode size of 128.
277.P
278The exception to this resolution is the
279.I features
280tag, which is specifies a set of changes to the features used by the
281filesystem, and which is cumulative. So in the above example, first
282the configuration relation defaults.base_features would enable an
283initial feature set with the sparse_super, filetype, resize_inode, and
284dir_index features enabled. Then configuration relation
285fs_types.ext4.features would enable the extents and flex_bg
286features, and finally the configuration relation
287fs_types.floppy.features would remove
288the resize_inode feature, resulting in a filesystem feature set
289consisting of the sparse_super, filetype, resize_inode, dir_index,
290extents_and flex_bg features.
291.P
fac9525e 292For each filesystem type, the following tags may be used in that
9dc6ad1e
TT
293fs_type's subsection:
294.TP
295.I base_features
3d43836f
TT
296This relation specifies the features which are initially enabled for this
297filesystem type. Only one
298.I base_features
299will be used, so if there are multiple entries in the fs_types list
300whose subsections define the
301.I base_features
302relation, only the last will be used by
303.BR mke2fs (8).
304.TP
305.I features
306This relation specifies a comma-separated list of features edit
307requests which modify the feature set
308used by the newly constructed filesystem. The syntax is the same as the
309.B -O
310command-line option to
311.BR mke2fs (8);
312that is, a feature can be prefixed by a caret ('^') symbol to disable
313a named feature. Each
314.I feature
315relation specified in the fs_types list will be applied in the order
316found in the fs_types list.
9dc6ad1e
TT
317.TP
318.I default_features
319This relation specifies set of features which should be enabled or
3d43836f 320disabled after applying the features listed in the
9dc6ad1e 321.I base_features
3d43836f
TT
322and
323.I features
324relations. It may be overridden by the
9dc6ad1e
TT
325.B -O
326command-line option to
327.BR mke2fs (8).
328.TP
493024ea
TT
329.I auto_64-bit_support
330This relation is a boolean which specifies whether
331.BR mke2fs (8)
332should automatically add the 64bit feature if the number of blocks for
333the file system requires this feature to be enabled. The resize_inode
334feature is also automatically disabled since it doesn't support 64-bit
335block numbers.
336.TP
6a426c97
ES
337.I default_mntopts
338This relation specifies the set of mount options which should be enabled
339by default. These may be changed at a later time with the
340.B -o
341command-line option to
342.BR tune2fs (8).
343.TP
9dc6ad1e
TT
344.I blocksize
345This relation specifies the default blocksize if the user does not
346specify a blocksize on the command line.
347.TP
a4396e9d 348.I lazy_itable_init
27b422f5 349This boolean relation specifies whether the inode table should
a4396e9d
TT
350be lazily initialized. It only has meaning if the uninit_bg feature is
351enabled. If lazy_itable_init is true and the uninit_bg feature is
352enabled, the inode table will
353not fully initialized by
354.BR mke2fs (8).
355This speeds up filesystem
711d3846 356initialization noticeably, but it requires the kernel to finish
a4396e9d
TT
357initializing the filesystem in the background when the filesystem is
358first mounted.
359.TP
9dc6ad1e
TT
360.I inode_ratio
361This relation specifies the default inode ratio if the user does not
362specify one on the command line.
067911ae
AD
363.TP
364.I inode_size
365This relation specifies the default inode size if the user does not
366specify one on the command line.
9ba40002 367.TP
d3859af3
AK
368.I reserved_ratio
369This relation specifies the default percentage of filesystem blocks
370reserved for the super-user, if the user does not specify one on the command
371line.
372.TP
d5f57d95
TT
373.I hash_alg
374This relation specifies the default hash algorithm used for the
375new filesystems with hashed b-tree directories. Valid algorithms
376accepted are:
377.IR legacy ,
378.IR half_md4 ,
379and
380.IR tea .
381.TP
9ba40002 382.I flex_bg_size
d4a93302 383This relation specifies the number of block groups that will be packed
9ba40002
TT
384together to create one large virtual block group on an ext4 filesystem.
385This improves meta-data locality and performance on meta-data heavy
d4a93302 386workloads. The number of groups must be a power of 2 and may only be
9ba40002 387specified if the flex_bg filesystem feature is enabled.
b75a4ce1 388.TP
2d36358d
TT
389.I options
390This relation specifies additional extended options which should be
391treated by
392.BR mke2fs (8)
393as if they were prepended to the argument of the
394.B -E
395option. This can be used to configure the default extended options used
396by
397.BR mke2fs (8)
398on a per-filesystem type basis.
7fe5ff3c
LC
399.TP
400.I discard
27b422f5 401This boolean relation specifies whether the
7fe5ff3c
LC
402.BR mke2fs (8)
403should attempt to discard device prior to filesystem creation.
2d34a25f
TT
404.TP
405.I cluster_size
406This relation specifies the default cluster size if the bigalloc file
407system feature is enabled. It can be overridden via the
408.B \-C
409command line option to
410.BR mke2fs (8)
4c2b28ab
TT
411.SH THE [devices] STANZA
412Each tag in the
413.I [devices]
414stanza names device name so that per-device defaults can be specified.
415.TP
416.I fs_type
417This relation specifies the default parameter for the
418.B \-t
419option, if this option isn't specified on the command line.
420.TP
421.I usage_types
422This relation specifies the default parameter for the
423.B \-T
424option, if this option isn't specified on the command line.
9dc6ad1e
TT
425.SH FILES
426.TP
427.I /etc/mke2fs.conf
428The configuration file for
429.BR mke2fs (8).
430.SH SEE ALSO
431.BR mke2fs (8)