E2fsprogs

Software Screenshot:
E2fsprogs
Software Details:
Version: 1.44.3 updated
Upload Date: 17 Aug 18
Developer: Theodore Ts'o
Distribution Type: Freeware
Downloads: 77

Rating: 5.0/5 (Total Votes: 1)

E2fsprogs (also known as the Ext2 Filesystem Utilities) is an open source software that provides Linux users with a neat collection of command-line utilities for manipulating all types of EXT filesystem under any Linux-based operating system.

Comprises of several command-line tools

The software is comprised of several command-line programs and it was initially created to support only the EXT2 filesystem. However, because the EXT file system has evolved a lot in the last 10 years or so, the program now supports the EXT3 and EXT4 variants of the acclaimed filesystem

EXT4 is the latest version of the EXT file system and was initially announced back in 2008 as part of the Linux 2.6.19 kernel. It supports very large volumes, it’s backward compatible with the EXT2 and EXT3 filesystems, and brings improved timestamps.

Can be used to create, resize and optimize EXT filesystems

E2fsprogs includes e2fsck for checking disk drives and automatically correct inconsistencies, mke2fs for creating EXT2, EXT3 and EXT4 filesystems, resize2fs for shrinking or expanding file systems, tune2fs for modifying file system parameters, as well as dumpe2fs for printing block group and superblock information.

The application also includes the debugfs tool for manually modifying and viewing filesystem’s internal structures, filefrag for reporting file fragmentation, logsave for saving a command’s output to a specific logfile, e2undo for replaying an undo log, and e2label for changing labels.

In addition, the findfs tool will allow users to find a filesystem by UUID or label, badblocks lets you search disk drives for bad blocks, blkid can be used to print and locate block device attributes, e2freefrag reports free space fragmentation info, and chattr changes file attributes.

Lastly, e2image can be used for saving critical metadata to a file, e4defrag can defragment EXT4 filesystems online, findsuper finds EXT2 superblocks, and lsattr lists file attributes on EXT2 filesystems.

Bottom line

E2fsprogs is definitely an important and essential utility for any Linux-based operating system. Without it, you won’t be able to create, repair, shrink or expand EXT filesystems.

What is new in this release:

  • UI and Features:
  • The debugfs inode_dump command can now print a hex dump of the i_block array and the extra space in the inode, as a convenience to someone investigating a corrupted inode.
  • The debugfs block_dump and inode_dump command can now print low-level dump of extended attribute data structures in the block or inode.
  • The dumpe2fs command can now print out information in the Multi-Mount Protection (MMP) block. This is also available as e2mmpstatus command for compatibility with the Lustre utilities.
  • The debugfs command can now operate on some file systems with corrupted superblocks so they can be fixed. This includes file systems with a corrupted inodes count field and file systems where not all of the allocation bitmaps have valid locations or are not readable.
  • Fixes:
  • The inode's project ID is now properly byte-swapped on big-endian systems.
  • E2fsprogs now ignores s_desc_size for file systems that do not have the 64-bit feature set. This makes it more consistent with the kernel, so it can now operate on file systems that the kernel is willing to mount.
  • E2fsck now considers device inodes with the extents flag as corrupt and offer to clear them.
  • E2fsck more properly handles cases where s_inodes_count is corrupted.
  • E2fsck no longer spews large number of errors when the superblock badly corrupted (restoring its behavior pre-1.43).
  • E2fsck will now offer to set the dir_nlink feature if it is not set and file system requires the dir_nlink feature because there are too many subdirectories in a directory.
  • E2fsck will no longer loop infinitely due to a maliciously crafted file system which has a fully uninitialized inode table in the first block group.
  • E2fsck will no longer hang if the last block in the file system is a fixed-metadata block. (Very rare, but could happen.)
  • E2fsck no longer allows initialized blocks to exist past i_size. This is something the Linux implementation of ext4 has never done (and should never do).
  • While replaying the journal in e2fsck, certain errors would previously cause e2fsck to print a non-sensical error message (e.g., "Unknown code ____ 251 while recovering journal"). This has been fixed.
  • In cases where more than 75% of the block group will be used for group descriptor table, mke2fs would previously create an invalid file system with both the meta_bg and resize_inode features enabled. It will now disable the resize_inode feature.
  • The mke2fs program now properly creates a file system which is exactly 1

What is new in version 1.44.2:

  • Fixes:
  • E2fsprogs 1.44.0 introduced a regression introduced which caused e2fsck to fail to support HTree directories on big-endian systems. Fix how we read block numbers for internal htree nodes.
  • Removed a potential memory leak from fsck.
  • E2image now correctly creates e2image files for bigalloc file systems.
  • Dumpe2fs and debugfs now correctly support e2image files for file systems that have the meta_bg option enabled.
  • E2fsck and debugfs now correctly handle delete inodes (including processing the orphaned inode list in the case of e2fsck) for bigalloc file systems. (Addresses Google Bug: #73795618)
  • Portability fixes for GNU Hurd. (Addresses Debian Bug: #893590)
  • Portability fixes for building in some cross-build environments.
  • Portability fixes for MacOS 10.6.8.
  • Add clarifications to chattr's man page. (Addresses Debian Bug: #890390)
  • Performance, Internal Implementation, Development Support etc.:
  • Debugfs now reads allocation bitmaps much more efficiently when opening a file system.
  • Update Sweedish translation file.
  • Add Vcs-* fields to debian packaging. (Addresses Debian Bug: #887512)
  • Fix some test failures on GNU Hurd caused by a different default block size.
  • Add new regression tests.

What is new in version :

  • Fix printing of quota inconsistency messages on 32-bit platforms in e2fsck. Also fix a bug which cause project quota problems to be labelled as group quota problems.
  • Fix UI problems caused by fuzzy translations such that some messages are in English and some are in the foreign language, and it's not obvious to user how to answer yes/no questions. (Addresses Debian Bug: #856586).
  • Fix some out-of-bounds memory accesses in e2fsck caused by (usually maliciously) corrupted file systems. (Addresses Debian Bugs: #871539, #871540)
  • Optimize CPU usage in e2fsck for very large, very fragmented sparse files.
  • Add an optional mode in e2fsck which trades off additional memory for CPU time when processing file systems that are heavily hard-linked. (This can be a very large amount of memory, so this feature is disabled for now. How to automatically determine when it would be helpful to enable this optimization, and when it is _safe_ to enable this optimization is still a bit of a research problem.)
  • The mke2fs program will automatically upsize the inode size to 256 if it is not explicitly specified on command-line and the default inode size is not large enough to support the project quota feature requested by the user. If the inode size is explicitly specified to be 128 bytes, and the project quota is enabled mke2fs will fail since with an error explaining that project id's can't be supported when the inode size is < 256 bytes.
  • The tune2fs program will not allow the project feature or project quotas to be enabled in the inode size is 128 bytes.
  • The tune2fs progam now prints a more understandable message explaining that the file system needs to be checked using e2fsck -f before running certain complex tune2fs operations. (Addresses Debian Bug: #857336)
  • If the proceed_delay option is enabled in /etc/e2fsck.conf, the message indicating that user can wait N seconds to proceed was ambiguous. That message has been made more clear. (Addresses Debian Bug: #857336)
  • Fix LFS bug which caused e2image to fail to create regular e2image files which are larger than 2 GiB on 32-bit platforms. (Addresses Debian Bug: #855246)
  • Fix FreeBSD portability problem caused by the fact that they no longer use block devices. (Disks are character mode devices.)
  • Update the Czech, French, Polish, Swedish, and Vietnamese translations.
  • Fixed various Debian Packaging Issues.

What is new in version 1.43.6:

  • Fix printing of quota inconsistency messages on 32-bit platforms in e2fsck. Also fix a bug which cause project quota problems to be labelled as group quota problems.
  • Fix UI problems caused by fuzzy translations such that some messages are in English and some are in the foreign language, and it's not obvious to user how to answer yes/no questions. (Addresses Debian Bug: #856586).
  • Fix some out-of-bounds memory accesses in e2fsck caused by (usually maliciously) corrupted file systems. (Addresses Debian Bugs: #871539, #871540)
  • Optimize CPU usage in e2fsck for very large, very fragmented sparse files.
  • Add an optional mode in e2fsck which trades off additional memory for CPU time when processing file systems that are heavily hard-linked. (This can be a very large amount of memory, so this feature is disabled for now. How to automatically determine when it would be helpful to enable this optimization, and when it is _safe_ to enable this optimization is still a bit of a research problem.)
  • The mke2fs program will automatically upsize the inode size to 256 if it is not explicitly specified on command-line and the default inode size is not large enough to support the project quota feature requested by the user. If the inode size is explicitly specified to be 128 bytes, and the project quota is enabled mke2fs will fail since with an error explaining that project id's can't be supported when the inode size is < 256 bytes.
  • The tune2fs program will not allow the project feature or project quotas to be enabled in the inode size is 128 bytes.
  • The tune2fs progam now prints a more understandable message explaining that the file system needs to be checked using e2fsck -f before running certain complex tune2fs operations. (Addresses Debian Bug: #857336)
  • If the proceed_delay option is enabled in /etc/e2fsck.conf, the message indicating that user can wait N seconds to proceed was ambiguous. That message has been made more clear. (Addresses Debian Bug: #857336)
  • Fix LFS bug which caused e2image to fail to create regular e2image files which are larger than 2 GiB on 32-bit platforms. (Addresses Debian Bug: #855246)
  • Fix FreeBSD portability problem caused by the fact that they no longer use block devices. (Disks are character mode devices.)
  • Update the Czech, French, Polish, Swedish, and Vietnamese translations.
  • Fixed various Debian Packaging Issues.

What is new in version 1.43.4:

  • Fixed e2fsck so that it would correctly update the project quota usage when deleting a corrupted and inode, and fixed mke2fs so it wouldn't dereference memory beyond the small inode structure (which was wrong, but worked mostly by accident unless hardening or some security malloc was in use).
  • Fixed a large number of FreeBSD portability problems. (To build on FreeBSD, however, we still need to use GNU Make and redirect dd to use GNU dd.)
  • The configure script now supports --enable-hardening, which enables stack protection, fortify, read-only relocation tables, immediate dynamic symbol binding, and text segment ASLR (if the kernel has userspace ASLR support enabled) by enabling position independent executable code. (Distributions who want to do their own special thing can set CFLAGS, CFLAGS_SHLIB, CLFAGS_STLIB, LDFLAGS, LDFLAGS_SHLIB and LDFLAGS_STATIC as appropriate.)
  • The configure script now supports --disable-tdb since on 64-bit systems, it's much faster to just enable additional swap space. The scratch_files feature in e2fsck.conf is mostly only useful on 32-bit systems.
  • Fixed the Direct I/O fallback codepath in the Unix I/O manager so that read/modify/write worked correctly. Fortunately in practice (with the exception of the Undo handler when running on FreeBSD) used this buggy codepath. so file systems weren't getting corrupted.
  • Mke2fs will now warn if the user provides a label which is too long. (Addresses Debian Bug: #791630)
  • Debugfs's rdump command now works correctly when dumping the root directory of a file system. (Addresses Debian Bug: #766125)
  • Fixed a bug in debugfs so it would correctly calculate a block group's checksum field field on 64-bit ssystems.
  • E2fsck now has a much more understandable error message when the journal superblock is corrupt and the user declines to fix it. (Addresses Debian Bug: #768162)
  • Fixed support of extended timestamps on 64-bit systems.
  • Updated/fixed various man pages. (Addresses Debian Bugs: #766379, #761144, #770750, #428361, #766127)
  • Fixed various Debian Packaging Issues. (Addresses Debian Bug: #825868)

What is new in version 1.43.2:

  • Fixed e2fsck so that it would correctly update the project quota usage when deleting a corrupted and inode, and fixed mke2fs so it wouldn't dereference memory beyond the small inode structure (which was wrong, but worked mostly by accident unless hardening or some security malloc was in use).
  • Fixed a large number of FreeBSD portability problems. (To build on FreeBSD, however, we still need to use GNU Make and redirect dd to use GNU dd.)
  • The configure script now supports --enable-hardening, which enables stack protection, fortify, read-only relocation tables, immediate dynamic symbol binding, and text segment ASLR (if the kernel has userspace ASLR support enabled) by enabling position independent executable code. (Distributions who want to do their own special thing can set CFLAGS, CFLAGS_SHLIB, CLFAGS_STLIB, LDFLAGS, LDFLAGS_SHLIB and LDFLAGS_STATIC as appropriate.)
  • The configure script now supports --disable-tdb since on 64-bit systems, it's much faster to just enable additional swap space. The scratch_files feature in e2fsck.conf is mostly only useful on 32-bit systems.
  • Fixed the Direct I/O fallback codepath in the Unix I/O manager so that read/modify/write worked correctly. Fortunately in practice (with the exception of the Undo handler when running on FreeBSD) used this buggy codepath. so file systems weren't getting corrupted.
  • Mke2fs will now warn if the user provides a label which is too long. (Addresses Debian Bug: #791630)
  • Debugfs's rdump command now works correctly when dumping the root directory of a file system. (Addresses Debian Bug: #766125)
  • Fixed a bug in debugfs so it would correctly calculate a block group's checksum field field on 64-bit ssystems.
  • E2fsck now has a much more understandable error message when the journal superblock is corrupt and the user declines to fix it. (Addresses Debian Bug: #768162)
  • Fixed support of extended timestamps on 64-bit systems.
  • Updated/fixed various man pages. (Addresses Debian Bugs: #766379, #761144, #770750, #428361, #766127)
  • Fixed various Debian Packaging Issues. (Addresses Debian Bug: #825868)

What is new in version 1.43.1:

  • Fixed a potential buffer overflow while closing a file system in libext2fs. (CVE-2015-1572, Addresses Debian Bug: #778948)
  • Fixed a bug which could cause e2fsck to corrupt Hurd file systems. (Addresses Debian Bug: #760275)
  • Fixed a deadlock which occurs when using systemd and e2fsck.conf's logging feature. (Addresses Debian Bug: #775234)
  • Fixed a bug which could cause programs using libext2's inode table scanning functions from crashing on certain corrupted file systems. (Addresses Debian Bug: #773795)
  • Fixed dumpe2fs so it won't crash if the user doesn't specify a block device (file system). (Addresses Debian Bug: #764293)
  • Fixed e2fsck so if it notices unexpected HTREE blocks in pass 2, it will report the correct directory inode containing the inconsistency.
  • If e2fsck fails to grow the dir_info structure due realloc(3) not having enough memory, it will now fail with explanatory message instead of staggering on failing with a confusing internal error messages.
  • The tune2fs program will zero out the superblock journal backup information when removing a journal from a file system.
  • The mke2fs program now enables the large_file feature by default.
  • Fixed a bug which could cause badblocks to crash if there are millions and millions of bad blocks.
  • Fixed some use-after-free bug in resize2fs and e2fsck.
  • Fixed a memory leak in tune2fs.
  • Fixed some bigendian bugs that had crept into both indirect and extent handling inside libext2fs.
  • Updated/fixed various man pages.
  • Update Esperanto, German, and Spanish translations. Added Danish translation.

What is new in version 1.42.12:

  • Fix various e2fsck bugs when trying to repair bigalloc file systems.
  • E2fsck can now repair a file system with an overly large s_first_meta_bg field, which had previously caused all e2fsprogs programs to crash when trying to open such a file system.
  • Fix e2fsck so that it can correctly fix a number of rare file system corruptions that were discovered when using a file system fuzzer.
  • Fix e2fsck so it does not try to write back block group descriptors if they have not been modified.
  • Mke2fs program will now place metadata blocks in the last flex_bg so they are contiguous. This reduces free space fragmentation in a freshly created file system, as well as allowing mke2fs commands which request extremely large flex_bg size to succeed.
  • Mke2fs now creates hugefiles more efficiently (with fewer extent tree blocks).
  • Fix a 32/64-bit overflow bug that could cause resize2fs to loop forever. (Addresses-Launchpad-Bug: #1321958)
  • The resize2fs program will now use much less memory when resizing very large file systems.
  • Fix a bug which could cause resize2fs to get confused and produce a corrupted file system when shrinking a file system that had been previously expanded and converted to use the meta_bg file system format, but which no longer needs to use the meta_bg file system format any longer. This typically happened with large (> 16TB) file systems. (Addresses Debian Bug: #756922)
  • The e4defrag program will now defrag backwards-allocated files.
  • Fix tune2fs updating UUID's when manipulating file systems with external journals (both the file system and journal UUID).
  • Fix tune2fs so it can remove an external journal for file systems with a 1k block size.
  • Add a new debugfs command, "inode_dump", which prints the inode in hex and ASCII format.
  • The debugfs's "set_inode_field" will now automatically allocate blocks for indirect blocks and extent tree blocks.
  • Fix debugfs's "set_inode_field" so can properly handle "block[IND|DIND|TIND]".
  • The debugfs "rdump" command will now take multiple source arguments.
  • Fixed a double close(2) bug in "rdump" and "rdump -p".
  • Fix debugfs's argument parsing for the freefrag command.
  • Fix filefrag to properly handle using the FIBMAP ioctl (with -B). (Addresses Launchpad Bug: #1356496)
  • Clarified messages that were confusing users in debugfs, e2fsck, mke2fs, and resize2fs (Addresses Debian Bugs: #758029, #757543, #757544)
  • Dumpe2fs will now complain if extra arguments are given to it. (Addresses Debian Bug: #758074)
  • Updated/fixed various man pages. (Addresses-Debian-Bug: #726760)
  • Update Czech, Dutch, French, Polish, Spanish, Sweedish, Ukrainian, and Vietnamese translations.

What is new in version 1.42.11:

  • Add support so that mke2fs can create hugefiles so that they are aligned relative to the beginning of the disk, instead of relative to the beginning of the partition, using the mke2fs.conf configuration parameter "hugefiles_align_disk".
  • Fix a bug which causes e2fsck to abort a journal replay on a file system with bigalloc enabled. (Addresses Debian Bug: #744953)
  • Add sanity checks so that mke2fs will refuse insanely large flex_bg counts specified by the -G option. Insanely large flex_bg sizes can result in a file system which can't be unmounted, or with extremely pessimal metadata layouts.
  • The mke2fs program will provide a better metadata layout for moderately large (but believable) flex_bg counts, such as 133,072.
  • The mke2fs progam will also check the kernel version number to determine whether the lazy_itable_init option is supported, so that lazy inode table initialization can be used even if the ext4 is compiled as a module which isn't loaded at the time that mke2fs is run.
  • Add description of ext4's mount options to the ext4 section 5 man page.
  • Improve the chattr man page and clean up the chattr usage message.
  • E2fsck will now automatically fix a last mount time or last write time which is in the future in preen mode, instead of aborting the fsck check.
  • Mke2fs will now check the file system revision number requested by the command line, and reject it if it is too large. A file system with an unsupported revision number will not be accepted by any of the other file system tools, and this command line option is rarely used, so let's try to help the user not shoot their own foot off.
  • The debugfs progam can now set the error count and associated first_error and last_error fields in the superblock using the set_super_value command.
  • Resize2fs will not try to calculate the minimum size of a file system if it contains errors. Otherwise a very badly corrupted file system image can cause the minimum size calculation to loop forwever. Since resize2fs will not allow a file system marked as containing errors to be resized. It's pointless to calculate the minimum size, so just skip it.
  • Fixed a typo in one of mke2fs's error message.
  • If filefrag runs into an error, it will continue processing the rest of the files specified on thec ommand line, but then exit with an error code.
  • Filefrag now prints some additional new flags (such as FIEMAP_EXTENT_ENCODED), and print unknown flags as hex values.
  • Fixed support in filefrag for files with > 2**32 blocks on 32-bit platforms.
  • Fixed a file descriptor leak in debugfs when copying files.
  • Fixed a regression introduced in 1.42.10 which caused mke2fs to fail to create file systems larger than 2GB on 32-bit platforms. (Addresses Red Hat Bugzilla: #1099892, Debian Bug: #752107)
  • Add Esparanto and Ukrainian translations, and update Czech, Dutch, French, German, Italian, Polish, Sweedish, and Vietnamese translations.
  • Fixed various compiler warnings.

Similar Software

ext2fuse
ext2fuse

3 Jun 15

NFS-Ganesha
NFS-Ganesha

10 May 15

xzip
xzip

14 Apr 15

dosfstools
dosfstools

17 Jul 15

Other Software of Developer Theodore Ts'o

Comments to E2fsprogs

Comments not found
Add Comment
Turn on images!