]>
Commit | Line | Data |
---|---|---|
3c22bf7e TT |
1 | .\" -*- nroff -*- |
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. | |
4 | .\" | |
5 | .TH EXT4 5 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@" | |
6 | .SH NAME | |
7 | ext2 \- the second extended file system | |
8 | .br | |
9 | ext2 \- the third extended file system | |
10 | .br | |
11 | ext4 \- the fourth extended file system | |
12 | .SH DESCRIPTION | |
13 | The second, third, and fourth extended file systems, or ext2, ext3, and | |
14 | ext4 as they are commonly known, are Linux file systems that have | |
15 | historically been the default file system for many Linux distributions. | |
16 | They are general purpose file systems that have been designed for | |
17 | extensibility and backwards compatibility. In particular, file systems | |
18 | previously intended for use with the ext2 and ext3 file systems can be | |
19 | mounted using the ext4 file system driver, and indeed in many modern | |
20 | Linux distributions, the ext4 file system driver has been configured | |
21 | handle mount requests for ext2 and ext3 file systems. | |
22 | .SH FILE SYSTEM FEATURES | |
23 | A file system formated for ext2, ext3, or ext4 can be have some | |
24 | collection of the follow file system feature flags enabled. Some of | |
25 | these features are not supported by all implementations of the ext2, | |
26 | ext3, and ext4 file system drivers, depending on Linux kernel version in | |
27 | use. On other operating systems, such as the GNU/HURD or FreeBSD, only | |
28 | a very restrictive set of file system features may be supported in their | |
29 | implementations of ext2. | |
30 | .RS 1.2i | |
31 | .TP | |
32 | .B 64bit | |
33 | .br | |
34 | Enables the file system to be larger than 2^32 blocks. This feature is set | |
35 | automatically, as needed, but it can be useful to specify this feature | |
36 | explicitly if the file system might need to be resized larger than 2^32 | |
37 | blocks, even if it was smaller than that threshold when it was | |
38 | originally created. Note that some older kernels and older versions | |
39 | of e2fsprogs will not support file systems with this ext4 feature enabled. | |
40 | .TP | |
41 | .B bigalloc | |
42 | .br | |
43 | This ext4 feature enables clustered block allocation, so that the unit of | |
44 | allocation is a power of two number of blocks. That is, each bit in the | |
45 | what had traditionally been known as the block allocation bitmap now | |
46 | indicates whether a cluster is in use or not, where a cluster is by | |
47 | default composed of 16 blocks. This feature can decrease the time | |
48 | spent on doing block allocation and brings smaller fragmentation, especially | |
49 | for large files. The size can be specified using the | |
50 | .B \-C option. | |
51 | .IP | |
52 | .B Warning: | |
53 | The bigalloc feature is still under development, and may not be fully | |
54 | supported with your kernel or may have various bugs. Please see the web | |
55 | page http://ext4.wiki.kernel.org/index.php/Bigalloc for details. | |
56 | May clash with delayed allocation (see | |
57 | .BR nodelalloc mount option). | |
58 | .IP | |
59 | This feature requires that the | |
60 | .B extent | |
61 | features be enabled. | |
62 | .TP | |
63 | .B dir_index | |
64 | .br | |
65 | Use hashed b-trees to speed up name lookups in large directories. This | |
66 | feature is supported by ext3 and ext4 file systems, and is ignored by | |
67 | ext2 file systems. | |
68 | .TP | |
69 | .B dir_nlink | |
70 | .br | |
71 | This ext4 feature allows more than 65000 subdirectories per directory. | |
72 | .TP | |
73 | .B extent | |
74 | .br | |
75 | This ext4 feature allows the mapping of logical block numbers for a | |
76 | particular inode to physical blocks on the storage device to be stored | |
77 | using an extent tree, which is a more efficient data structure than the | |
78 | traditional indirect block scheme used by the ext2 and ext3 file | |
79 | systems. The use of the extent tree decreases metadata block overhead, | |
80 | improves file system performance, and decreases the needed to run | |
81 | .BR e2fsck (8) | |
82 | on the file system. | |
83 | (Note: both | |
84 | .B extent | |
85 | and | |
86 | .B extents | |
87 | are accepted as valid names for this feature for | |
88 | historical/backwards compatibility reasons.) | |
89 | .TP | |
90 | .B extra_isize | |
91 | .br | |
92 | This ext4 feature reserves a specific amount of space in each inode for | |
93 | extended metadata such as nanosecond timestamps and file creation time, | |
94 | even if the current kernel does not current need to reserve this much | |
95 | space. Without this feature, the kernel will reserve the amount of | |
96 | space for features currently it currently needs, and the rest may be | |
97 | consumed by extended attributes. | |
98 | ||
99 | For this feature to be useful the inode size must be 256 bytes in size | |
100 | or larger. | |
101 | .TP | |
102 | .B ext_attr | |
103 | .br | |
104 | This feature enables the use of extended attributes. This feature is | |
105 | supported by ext2, ext3, and ext4. | |
106 | .TP | |
107 | .B filetype | |
108 | .br | |
109 | This feature enables the storage file type information in directory | |
110 | entries. This feature is supported by ext2, ext3, and ext4. | |
111 | .TP | |
112 | .TP | |
113 | .B flex_bg | |
114 | .br | |
115 | This ext4 feature allows the per-block group metadata (allocation | |
116 | bitmaps | |
117 | and inode tables) | |
118 | to be placed anywhere on the storage media. In addition, | |
119 | .B mke2fs | |
120 | will place the per-block group metadata together starting at the first | |
121 | block group of each "flex_bg group". The size of the flex_bg group | |
122 | can be specified using the | |
123 | .B \-G | |
124 | option. | |
125 | .TP | |
126 | .B has_journal | |
127 | .br | |
128 | Create a journal to ensure filesystem consistency even across unclean | |
129 | shutdowns. Setting the filesystem feature is equivalent to using the | |
130 | .B \-j | |
131 | option. This feature is supported by ext3 and ext4, and ignored by the | |
132 | ext2 file system driver. | |
133 | .TP | |
134 | .B huge_file | |
135 | .br | |
136 | This ext4 feature allows files to be larger than 2 terabytes in size. | |
137 | .TP | |
138 | .B journal_dev | |
139 | .br | |
140 | This feature is enabled on the superblock found on an external journal | |
141 | device. The block size for the external journal must be the same as the | |
142 | file system which uses it. | |
143 | .IP | |
144 | The external journal device can be used by a file system by specifying | |
145 | the | |
146 | .B \-J | |
147 | .BR device= <external-device> | |
148 | option to | |
149 | .BR mke2fs (8) | |
150 | or | |
151 | .BR tune2fs(8). | |
152 | .TP | |
153 | .B large_file | |
154 | .br | |
155 | This feature flag is set automatically by modern kernels when a file | |
156 | larger than 2 gigabytes is created. Very old kernels could not | |
157 | handle large files, so this feature flag was used to prohibit those | |
158 | kernels from mounting file systems that they could not understand. | |
159 | .\" .TP | |
160 | .\" .B metadata_csum | |
161 | .\" .br | |
162 | .\" This ext4 feature enables metadata checksumming. This feature stores | |
163 | .\" checksums for all of the filesystem metadata (superblock, group | |
164 | .\" descriptor blocks, inode and block bitmaps, directories, and | |
165 | .\" extent tree blocks). The checksum algorithm used for the metadata | |
166 | .\" blocks is different than the one used for group descriptors with the | |
167 | .\" .B uninit_bg | |
168 | .\" feature, these two features are incompatible and | |
169 | .\" .B metadata_csum | |
170 | .\" will be used preferentially instead of | |
171 | .\" .BR uninit_bg . | |
172 | .\" .br | |
173 | .\" .B Future feature, available in e2fsprogs 1.43-WIP | |
174 | .TP | |
175 | .B meta_bg | |
176 | .br | |
177 | This ext4 feature allows file systems to be resized on-line without explicitly | |
178 | needing to reserve space for growth in the size of the block group | |
179 | descriptors. This scheme is also used to resize file systems which are | |
180 | larger than 2^32 blocks. It is not recommended that this feature be set | |
181 | when a file system is created, since this alternate method of storing | |
182 | the block group descriptor will slow down the time needed to mount the | |
183 | file system, and newer kernels can automatically set this feature as | |
184 | necessary when doing an online resize and no more reserved space is | |
185 | available in the resize inode. | |
186 | .TP | |
187 | .B mmp | |
188 | .br | |
189 | This ext4 feature provides multiple mount protection (MMP). MMP helps to | |
190 | protect the filesystem from being multiply mounted and is useful in | |
191 | shared storage environments. | |
192 | @QUOTA_MAN_COMMENT@.TP | |
193 | @QUOTA_MAN_COMMENT@.B quota | |
194 | @QUOTA_MAN_COMMENT@.br | |
195 | @QUOTA_MAN_COMMENT@Create quota inodes (inode #3 for userquota and inode | |
196 | @QUOTA_MAN_COMMENT@#4 for group quota) and set them in the superblock. | |
197 | @QUOTA_MAN_COMMENT@With this feature, the quotas will be enabled | |
198 | @QUOTA_MAN_COMMENT@automatically when the filesystem is mounted. | |
199 | @QUOTA_MAN_COMMENT@.IP | |
200 | @QUOTA_MAN_COMMENT@Causes the quota files (i.e., user.quota and | |
201 | @QUOTA_MAN_COMMENT@group.quota which existed | |
202 | @QUOTA_MAN_COMMENT@in the older quota design) to be hidden inodes. | |
203 | @QUOTA_MAN_COMMENT@.IP | |
204 | @QUOTA_MAN_COMMENT@.B Warning: | |
205 | @QUOTA_MAN_COMMENT@The quota feature is still under development, | |
206 | @QUOTA_MAN_COMMENT@and may not be fully supported with your kernel | |
207 | @QUOTA_MAN_COMMENT@or may have various bugs. Please | |
208 | @QUOTA_MAN_COMMENT@see https://ext4.wiki.kernel.org/index.php/Quota | |
209 | @QUOTA_MAN_COMMENT@for more details. | |
210 | .TP | |
211 | .B resize_inode | |
212 | .br | |
213 | This file system feature indicates that space has been reserved so | |
214 | the block group descriptor table can be extended by the file system is | |
215 | resized while the file system is mounted. The online resize operation | |
216 | is carried out by the kernel, triggered, by | |
217 | .BR resize2fs (8). | |
218 | By default | |
219 | .B mke2fs | |
220 | will attempt to reserve enough space so that the | |
221 | filesystem may grow to 1024 times its initial size. This can be changed | |
222 | using the | |
223 | .B resize | |
224 | extended option. | |
225 | .IP | |
226 | This feature requires that the | |
227 | .B sparse_super | |
228 | feature be enabled. | |
229 | .TP | |
230 | .B sparse_super | |
231 | .br | |
232 | This file system feature is set on all modern ext2, ext3, and ext4 file | |
233 | system. It indicates that backup copies of the superblock and block | |
234 | group descriptors be present only on a few block groups, and not all of | |
235 | them. | |
236 | .TP | |
237 | .B uninit_bg | |
238 | .br | |
239 | This ext4 file system feature indicates that the block group descriptors | |
240 | will be protected using checksums, making it safe for | |
241 | .BR mke2fs (8) | |
242 | to create a file system without initializing all of the block groups. | |
243 | The kernel will keep a high watermark of unused inodes, and initialize | |
244 | inode tables and block lazily. This feature speeds up the time to check | |
245 | the file system using | |
246 | .BR e2fsck (8), | |
247 | and it also speeds up the time required for | |
248 | .BR mke2fs (8) | |
249 | to create the file system. | |
250 | .RE | |
251 | .SH SEE ALSO | |
252 | .BR mke2fs (8), | |
253 | .BR mke2fs.conf (5), | |
254 | .BR e2fsck (8), | |
255 | .BR dumpe2fs (8), | |
256 | .BR tune2fs (8), | |
257 | .BR debugfs (8) |