• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1E2fsprogs 1.43 (May 17, 2016)
2=============================
3
4Add support for the ext4 metadata checksum, checksum seed, inline
5data, encryption, project quota, and read-only features.
6
7Support for the very old, experimental, and never-added-to-mainline
8compression feature has been removed.
9
10Mke2fs will now create file systems with the metadata_csum and 64bit
11features enabled by default.
12
13The mke2fs program will now support multiple -O options (instead of
14just ignoring all but the last -O option).
15
16Mke2fs will now correctly determine the size of a file system and
17handle the discard operation correctly when the "-E offset=NNN" is
18used.  (Addresses Debian Bug: #803629)
19
20The tune2fs program will ask the user for confirmation before starting
21dangerous operations if the terminal is available, and it will replay
22the journal if necessary.
23
24Add an ext2/3/4 FUSE server
25
26Debugfs can now modify extended attributes and journal transactions.
27
28Debugfs now can properly display and set extended timestamps.
29
30E2fsck will offer to fix extended timestamps that were incorrectly
31encoded by older kernels.
32
33Fix miscellaneous MMP bugs in debugfs.
34
35Fix sparse_super2 bugs in mke2fs and resize2fs.
36
37Fix or improve offset support in mke2fs, e2undo, and libext2fs.
38
39The resize2fs command can now convert file systems between 64-bit and
4032-bit mode.
41
42Fix potential out-of-bounds memory access in resize2fs when doing a
43large off-line file system grow operation.
44
45We now use a new e2undo file format which is much more efficient and
46faster than the old tdb-based scheme.  Since it so much faster,
47e2fsck, tune2fs, debugfs, and resize2fs now also can support using
48creating an undo file.
49
50The mke2fs command can now set the error behavior when initializing
51the file system (so the administrator doesn't have to issue a separate
52tune2fs -e command).
53
54Teach mke2fs to parse a human-readable argument for -i option.
55
56Teach mke2fs to automatically handle creating file systems > 500T by
57automatically enable the meta_bg feature.
58
59Mke2fs will now prompt for user verification before rewriting a file
60system's superblock using the -S option.
61
62Mke2fs no longer complains if the user tries to create a file system
63using the entire block device (e.g., without using a partition).  The
64minor number convention is not used by all block devices, and it's
65quite normal in some circumstances to create a file system on /dev/sdc
66instead of /dev/sdc1.
67
68Fix an "mke2fs -d" bug which could create inodes with invalid
69extended attribute blocks
70
71E2fsck is now much more paranoid about not freeing or corrupting
72critical metadata blocks, such as inode table blocks, even if
73corrupted indirect blocks or extent trees point at these blocks.
74
75E2fsck now prints block ranges in pass1b instead of listing all of the
76blocks exhaustively.
77
78E2fsck will try to expand the root directory if the lost+found can't
79be linked to the root directory.  Also, offer to use the root
80directory if lost+found can't be created.
81
82E2fsck is now more paranoid handling corrupted extent trees as well as
83corrupted journals.
84
85E2fsck can now rebuild extent trees, either (a) to optimize them, (b)
86to recover from a corrupted extent tree, or (c) to convert
87block-mapped inodes to use extents.
88
89E2fsck now has a readahead mechanism which can significantly speed its
90performance, especially on RAID arrays.
91
92E2fsck now has a "yes to all" option which the user can give if she is
93tired of answering 'y' to a very large number of questions.
94
95E2fsck will now ignore the badblocks inode if the contents of the
96badblocks inode indicate that the portion inode table containing the
97badblocks inode is bad.  (We must go deeper...)
98
99E2fsck can now correctly fix directory with holes on bigalloc file
100systems.
101
102E2fsck will now check for extent mapped inodes with no extent header
103and clear them if found.
104
105E2fsck now checks to make sure the extended attribute header doesn't
106result in the xattr extending beyond the bounds of the inode
107
108Fixed a bug in e2fsck to avoid overrunning a buffer containing jbd2
109revoke records if the journal is corrupted.
110
111Fixed a bug in e2fsck which could cause it loop forever if a special
112inode has too many invalid block mappings.
113
114Fixed a bug in e2fsck which could cause pass1b/c/d processing to get
115confused if an attempt to allocate a block can't find any free space
116in the file system.
117
118E2fsck will no longer try to force rewrite blocks located beyond the
119file system.
120
121The e2fsck program will no longer update the quota inodes when it is
122interrupted.
123
124Fix a bug which in rare cases would cause e2fsck -fD to corrupt an
125extent-mapped directory.
126
127Fixed a bug in resize2fs which could lead to resize2fs crashing or a
128corrupted file system if the file system is almost completely full
129when trying grow a file system and we need to allocate blocks to grow
130the block group descriptors.
131
132Fixed a bug in resize2fs which could cause it to get fooled trying to
133determine the RAID array's stride when flex_bg is enabled.
134
135Fix resize2fs bug that could leave block allocation bitmaps
136uninitialized.
137
138The dumpe2fs output has been improved so it is cleaner and always fits
139within 80 columns.  Also added a more easily machine-parsable output
140of dumpe2fs.
141
142The mke2fs program can now pre-populate a file system from a directory
143hierarchy using the -d option.
144
145The mke2fs program now skips zeroing inode table blocks if they were
146already zeroed using the discard feature.
147
148Check to make sure file system features which can not be supported by
149HURD are not enabled if the file system is created to be
150HURD-compatible.
151
152Added a new e2fuzz command that will fuzz an ext4 image for testing
153purposes.
154
155The debugfs logdump command can now deal with 64-bit revoke tables
156correctly.  Also, "logdump -O" will print the old log contents (before
157the journal was replayed).
158
159The debugfs bmap command can now be used to set or allocate a physical
160block.
161
162Fixed a bug so "filefrag -B -e -v" does not return a separate entry
163for each block.
164
165The filefrag program now accounts for holes in sparse files created by
166the file punch operation as an expected/optimal mapping.
167
168The file I/O functions now correctly handle inodes containing
169uninitialized blocks.
170
171Fix a bug in tune2fs so that removing uninit_bg feature on a bigalloc
172file system won't result in corrupted block bitmaps.
173
174Updated/fixed various man pages.  (Addresses Debian Bug: #798425)
175
176
177Programmer's Notes
178------------------
179
180Fixed coverity, sparse, gcc -Wall, and clang warnings/nits.
181
182Added Android build files so that e2fsprogs can be built in the
183Android source tree.
184
185Reduce the use of libc functions in libext2fs that may not be present
186in the boot loader environment, at least for those functions that are
187needed by boot loaders such as yaboot.
188
189Developers can now override the debugging and optimization flags by
190redefining the CFLAGS makefile macro.
191
192The libext2fs library now has support for fallocate.
193
194The mke2fs command will now ask the user for confirmation if block
195device or image file contains an existing file system image, and
196stdout and stdin are connected to a tty.
197
198The libext2fs library now picks a more intelligent goal block when
199doing block allocations.
200
201The libext2fs library will now automatically set the BLOCK_UNINT flag
202if all of the blocks in a block group are free, to speed up future
203e2fsck and dumpe2fs operations on the file system.
204
205Add two new functions ext2fs_new_range() and ext2fs_alloc_range() to
206libext2fs.
207
208The ext2fs_zero_blocks() command will use FALLOC_FL_ZERO_RANGE for
209file-based images.
210
211The ext2fs_bmap() function supports new flags BMAP_UNINIT and
212BMAP_ZERO.
213
214The ext2fs_new_block2() function will now call the alloc_block hook
215before checking fs->block_map.
216
217Support for the MMP feature can now be disabled at compile time.
218
219Added support to manipulate extended attributes to libext2fs.
220
221Added a lot of new regression tests.
222
223Added endian annotations so it's possible to scan e2fsprogs for endian
224problems using a static code analyzer.
225
226Fixed memory leaks in libext2fs.
227
228The e2fsck jbd2 handling code has been resynced with the 3.16 kernel.
229There is now a script in the contrib directory which automates most of
230the resync process.
231
232The build system will now run cppcheck (a static code analysis tool)
233via "make C=1"
234
235