Release of e2fsprogs 1.42.9

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

I've released e2fsprogs 1.42.9 in all of the usual places; it's tagged
in the git trees on git.kernel.org, github, and sourceforge, and
available for ftp at:

ftp://ftp.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.42.9

and

http://prdownloads.sourceforge.net/e2fsprogs/e2fsprogs-1.42.9.tar.gz

The release notes are attached below.

                                                - Ted

E2fsprogs 1.42.9 (December 28, 2013)
====================================

Mke2fs will detect an attempt to create a file system on a loop
mounted file and complain without the -FF option.  Also fixed mke2fs
so it allows the creation of a file system on a mounted device with
two -F options, as documented in the man page, instead of three -F
options.

Fixed a large number of bugs in resize2fs, e2fsck, debugfs, and
libext2fs to correctly handle bigalloc and 64-bit file systems.  There
were many corner cases that had not been noticed in previous uses of
these file systems, since they are not as common.  Some of the bugs
could cause file system corruption or data loss, so users of 64-bit or
bigalloc file systems are strongly urged to upgrade to e2fsprogs
1.42.9.

The tune2fs program will now not allow changing the uuid on a mounted
file system which has the uninit_bg feature enabled.  This avoids a
nasty race where the kernel and tune2fs are both retrying rewrite the
group descriptors at the same time, with different ideas about what
the UUID should be.

When e2fsck is rehashing an extent-mapped directory, it's possible
(although very rare) that an extent block will need to be allocated;
fix e2fsck to make sure that the block gets marked as used.

Mke2fs will now properly set the LARGE_FILE feature when creating a
journal >= 2GB --- which can happen when using 64k block size.

Fixed debugfs so that its freei command will correctly handle a request
to free a range of consecutive inodes.

Fixed 2fsck so it will not erroneously complain that an external journal
is invalid if it is exactly 2**32 blocks.

Fixed e2fsck so it won't try checking for, and adding, a missing
lost+found directory when running in read-only mode.

Fixed e2image to avoid some buffer overruns which would cause it to when
creating a "standard (non-raw, non-qcow2) image file.  Standard
e2image files are actually very rarely used, so we didn't notice when
the changes to enable the qcow2 format broke this e2image mode.

Fixed mke2fs so that the extended option "-E resize=NNN" will not turn
on the resize_inode feature when the meta_bg feature is set, since
these two features can not be set at the same time.

Fixed tune2fs so that when it disables the quota feature, it updates all
of the backup superblocks.

Fixed dumpe2fs that would cause it to abort when run using an image file
when trying to print the journal information (which is not present in
an e2image created image file).

Fixed a potential integer overflow in e2reefrag.
(Addresses-Debian-Bug: #718205)

Enhance debugfs so that when copying a sparse file from a native file
system into the file system image using the "write" command, it will
create a sparse file into the destination file system.

Enhanced debugfs so it can support a command line which is up to 8k
long.

E2image will refuse (unless the -f option is specified to force the
issue) to create a raw or qcow image using a mounted file system,
unless the -f option is specified to force the issue.

E2image has been optimized for using it to efficiently copy a file
system by only copying the allocated blocks, by using the options -ra.
New options (-o and -O) have been added so that a source and
destination offset can be given.  The -p option will print progress
information so the user will know how far along the copy is going.
And finally, the new option -c is useful for updating a file system on
an SSD, by avoiding unnecessary writes.  E2image can also shift a file
system image by doing an in place move.

Fix a regression introduced in 1.42.8 which would cause e2fsck to
erroneously report uninitialized extents past the EOF (as determined by
i_size) to be invalid.

Fixed resize2fs so under a corner case when an inode has a complex
extent tree, it will not corrupt an interior node in the extent tree.

Fixed resize2fs which would sometimes corrupt a file system when
shrinking a file system to a minimum size using resize2fs -M.
(Addresses Debian Bug: #660793)

Fixed resize2fs so that it will relocate inode table blocks if this
becomes necessary when shrinking the file system.

Fixed resize2fs and e2fsck so they will not crash when hit a failure
while operating on a file system with the MMP feature enabled.

Fixed a bug in debugfs which caused it create an invalid inode when
trying to write a zero-length file.

E2fsck will no longer crash if it tries to delete an invalid
extent-mapped symlink.

E2fsck will no longer crash if it comes across an directory which is
larger than 2GB (which is not allowed in valid file systems).

Fixed debugfs's help texts to fully document all options and otherwise
be more helpful.

Updated/fixed various man pages.  (Addresses Debian Bugs: #586218,
#669730, #698076)

Fixed various Debian Packaging Issues (#698879, #721365)


Programmer's Notes
------------------

Fix sparse, gcc -Wall and clang nits.

Update config.{guess,sub} to the latest version

Fixed various memory and file descriptor leaks on various error paths,
as well as some missing error return checks, which were found using
Coverity.

Run sparse against source files when building e2fsprogs with 'make
C=1'.  If instead C=2, it configures basic ext2 types for bitwise
checking with sparse, which can help find the (many many) spots where
conversion errors are (possibly) happening.

Allow the regression test to be run in chrooted environments where
/etc/mtab might be missing.

The ext2fs_punch() function, which was introduced in 1.42, was broken
in many ways, but this was never noticed since it wasn't used for
anything significant.  Some of the bugs include failing when trying to
punch a completely sparse file, failing when punching an extent-mapped
inode when the starting block was at the beginning of the inode, and
not being able to punch a single block (where start_blk == end_block).
It also didn't handle being passed an invalid, too-large ending block
number, and didn't handle properly terminate at the right place when
operating on an indirect-mapped inode.

Fixed some minor typo's in the error catalog for libext2fs.

Fixed ext2fs_file_set_size2() so that if it truncates an inode by
setting the file size, to zero the rest of the block to the end of the
file, so that if an ext4 FUSE driver tries to extended the file, that
we don't avoid stale data from being returned.

Fixed ext2fs_bmap() to disallow clients from trying to map or set
logical blocks which are larger than what an extent-mapped or indirect
block-mapped inode can allow.

If debugfs (or some userspace program using libext2fs) creates a file
which is larger than 2GB, make sure the large_file feature flag gets
set.

Fix a bug in ext2fs_link() where if there is multiple empty slots in the
directory which are large enough, the directory entry could get
inserted more than once in the directory.

If quota support is disabled (which is the default), make sure that
all traces of the quota support is removed from usage messages, man
pages, and tune2fs must not be able to enable the quota file system
feature.  (Addresses Red Hat Bugzilla: #1010709)

The ext2fs_file_write() now updates i_size on a successful write,
instead of only updating i_size wen the file is closed via
ext2fs_file_close().

Added a shell script, populate-extfs.sh which uses debugfs to populate
an ext2/3/4 file system image from a given directory.  It is similar
to the genext2fs program, but it supports ext3 and ext4 file system.

Add changes to the libext2fs library to support block group
descriptors larger than 64 bytes (for future compatibility).

Fixed an off-by-one bug in ext2fs_file_set_size2() so that it will not
leave an extra block in the file when truncating the file down to
size.

The html version info pages are now built using makeinfo --html
instead of the unmaintained and now-obsolete texi2html program.



--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux