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