| E2fsprogs 1.43 (May 17, 2016) |
| ============================= |
| |
| Add support for the ext4 metadata checksum, checksum seed, inline |
| data, encryption, project quota, and read-only features. |
| |
| Support for the very old, experimental, and never-added-to-mainline |
| compression feature has been removed. |
| |
| Mke2fs will now create file systems with the metadata_csum and 64bit |
| features enabled by default. |
| |
| The mke2fs program will now support multiple -O options (instead of |
| just ignoring all but the last -O option). |
| |
| Mke2fs will now correctly determine the size of a file system and |
| handle the discard operation correctly when the "-E offset=NNN" is |
| used. (Addresses Debian Bug: #803629) |
| |
| The tune2fs program will ask the user for confirmation before starting |
| dangerous operations if the terminal is available, and it will replay |
| the journal if necessary. |
| |
| Add an ext2/3/4 FUSE server |
| |
| Debugfs can now modify extended attributes and journal transactions. |
| |
| Debugfs now can properly display and set extended timestamps. |
| |
| E2fsck will offer to fix extended timestamps that were incorrectly |
| encoded by older kernels. |
| |
| Fix miscellaneous MMP bugs in debugfs. |
| |
| Fix sparse_super2 bugs in mke2fs and resize2fs. |
| |
| Fix or improve offset support in mke2fs, e2undo, and libext2fs. |
| |
| The resize2fs command can now convert file systems between 64-bit and |
| 32-bit mode. |
| |
| Fix potential out-of-bounds memory access in resize2fs when doing a |
| large off-line file system grow operation. |
| |
| We now use a new e2undo file format which is much more efficient and |
| faster than the old tdb-based scheme. Since it so much faster, |
| e2fsck, tune2fs, debugfs, and resize2fs now also can support using |
| creating an undo file. |
| |
| The mke2fs command can now set the error behavior when initializing |
| the file system (so the administrator doesn't have to issue a separate |
| tune2fs -e command). |
| |
| Teach mke2fs to parse a human-readable argument for -i option. |
| |
| Teach mke2fs to automatically handle creating file systems > 500T by |
| automatically enable the meta_bg feature. |
| |
| Mke2fs will now prompt for user verification before rewriting a file |
| system's superblock using the -S option. |
| |
| Mke2fs no longer complains if the user tries to create a file system |
| using the entire block device (e.g., without using a partition). The |
| minor number convention is not used by all block devices, and it's |
| quite normal in some circumstances to create a file system on /dev/sdc |
| instead of /dev/sdc1. |
| |
| Fix an "mke2fs -d" bug which could create inodes with invalid |
| extended attribute blocks |
| |
| E2fsck is now much more paranoid about not freeing or corrupting |
| critical metadata blocks, such as inode table blocks, even if |
| corrupted indirect blocks or extent trees point at these blocks. |
| |
| E2fsck now prints block ranges in pass1b instead of listing all of the |
| blocks exhaustively. |
| |
| E2fsck will try to expand the root directory if the lost+found can't |
| be linked to the root directory. Also, offer to use the root |
| directory if lost+found can't be created. |
| |
| E2fsck is now more paranoid handling corrupted extent trees as well as |
| corrupted journals. |
| |
| E2fsck can now rebuild extent trees, either (a) to optimize them, (b) |
| to recover from a corrupted extent tree, or (c) to convert |
| block-mapped inodes to use extents. |
| |
| E2fsck now has a readahead mechanism which can significantly speed its |
| performance, especially on RAID arrays. |
| |
| E2fsck now has a "yes to all" option which the user can give if she is |
| tired of answering 'y' to a very large number of questions. |
| |
| E2fsck will now ignore the badblocks inode if the contents of the |
| badblocks inode indicate that the portion inode table containing the |
| badblocks inode is bad. (We must go deeper...) |
| |
| E2fsck can now correctly fix directory with holes on bigalloc file |
| systems. |
| |
| E2fsck will now check for extent mapped inodes with no extent header |
| and clear them if found. |
| |
| E2fsck now checks to make sure the extended attribute header doesn't |
| result in the xattr extending beyond the bounds of the inode |
| |
| Fixed a bug in e2fsck to avoid overrunning a buffer containing jbd2 |
| revoke records if the journal is corrupted. |
| |
| Fixed a bug in e2fsck which could cause it loop forever if a special |
| inode has too many invalid block mappings. |
| |
| Fixed a bug in e2fsck which could cause pass1b/c/d processing to get |
| confused if an attempt to allocate a block can't find any free space |
| in the file system. |
| |
| E2fsck will no longer try to force rewrite blocks located beyond the |
| file system. |
| |
| The e2fsck program will no longer update the quota inodes when it is |
| interrupted. |
| |
| Fix a bug which in rare cases would cause e2fsck -fD to corrupt an |
| extent-mapped directory. |
| |
| Fixed a bug in resize2fs which could lead to resize2fs crashing or a |
| corrupted file system if the file system is almost completely full |
| when trying grow a file system and we need to allocate blocks to grow |
| the block group descriptors. |
| |
| Fixed a bug in resize2fs which could cause it to get fooled trying to |
| determine the RAID array's stride when flex_bg is enabled. |
| |
| Fix resize2fs bug that could leave block allocation bitmaps |
| uninitialized. |
| |
| The dumpe2fs output has been improved so it is cleaner and always fits |
| within 80 columns. Also added a more easily machine-parsable output |
| of dumpe2fs. |
| |
| The mke2fs program can now pre-populate a file system from a directory |
| hierarchy using the -d option. |
| |
| The mke2fs program now skips zeroing inode table blocks if they were |
| already zeroed using the discard feature. |
| |
| Check to make sure file system features which can not be supported by |
| HURD are not enabled if the file system is created to be |
| HURD-compatible. |
| |
| Added a new e2fuzz command that will fuzz an ext4 image for testing |
| purposes. |
| |
| The debugfs logdump command can now deal with 64-bit revoke tables |
| correctly. Also, "logdump -O" will print the old log contents (before |
| the journal was replayed). |
| |
| The debugfs bmap command can now be used to set or allocate a physical |
| block. |
| |
| Fixed a bug so "filefrag -B -e -v" does not return a separate entry |
| for each block. |
| |
| The filefrag program now accounts for holes in sparse files created by |
| the file punch operation as an expected/optimal mapping. |
| |
| The file I/O functions now correctly handle inodes containing |
| uninitialized blocks. |
| |
| Fix a bug in tune2fs so that removing uninit_bg feature on a bigalloc |
| file system won't result in corrupted block bitmaps. |
| |
| Updated/fixed various man pages. (Addresses Debian Bug: #798425) |
| |
| |
| Programmer's Notes |
| ------------------ |
| |
| Fixed coverity, sparse, gcc -Wall, and clang warnings/nits. |
| |
| Added Android build files so that e2fsprogs can be built in the |
| Android source tree. |
| |
| Reduce the use of libc functions in libext2fs that may not be present |
| in the boot loader environment, at least for those functions that are |
| needed by boot loaders such as yaboot. |
| |
| Developers can now override the debugging and optimization flags by |
| redefining the CFLAGS makefile macro. |
| |
| The libext2fs library now has support for fallocate. |
| |
| The mke2fs command will now ask the user for confirmation if block |
| device or image file contains an existing file system image, and |
| stdout and stdin are connected to a tty. |
| |
| The libext2fs library now picks a more intelligent goal block when |
| doing block allocations. |
| |
| The libext2fs library will now automatically set the BLOCK_UNINT flag |
| if all of the blocks in a block group are free, to speed up future |
| e2fsck and dumpe2fs operations on the file system. |
| |
| Add two new functions ext2fs_new_range() and ext2fs_alloc_range() to |
| libext2fs. |
| |
| The ext2fs_zero_blocks() command will use FALLOC_FL_ZERO_RANGE for |
| file-based images. |
| |
| The ext2fs_bmap() function supports new flags BMAP_UNINIT and |
| BMAP_ZERO. |
| |
| The ext2fs_new_block2() function will now call the alloc_block hook |
| before checking fs->block_map. |
| |
| Support for the MMP feature can now be disabled at compile time. |
| |
| Added support to manipulate extended attributes to libext2fs. |
| |
| Added a lot of new regression tests. |
| |
| Added endian annotations so it's possible to scan e2fsprogs for endian |
| problems using a static code analyzer. |
| |
| Fixed memory leaks in libext2fs. |
| |
| The e2fsck jbd2 handling code has been resynced with the 3.16 kernel. |
| There is now a script in the contrib directory which automates most of |
| the resync process. |
| |
| The build system will now run cppcheck (a static code analysis tool) |
| via "make C=1" |
| |