Fork of e2fsprogs with inode table reallocator
 
 
 
 
 
 
Go to file
Darrick J. Wong b9f95911e9 libext2fs: don't cache inodes that fail checksum verification
If an inode fails checksum verification, don't stuff a copy of it in
the inode cache, because this can cause the library to fail to return
the "corrupt inode" error code.

In general, this happens if ext2fs_read_inode_full() is called twice
on an inode with an incorrect checksum.  If fs->flags has
EXT2_FLAG_IGNORE_CSUM_ERRORS set during the first call and *unset*
during the second call, the cache hit during the second call fails to
return EXT2_ET_INODE_CSUM_INVALID as you'd expect.  This happens
during fsck because the first read_inode call happens as part of
check_blocks and the second call happens during inode checksum
revalidation.  A file system with a slightly corrupt non-extent inode
will trigger this.

While we're at it, make the inode read function consistent with the
rest of libext2fs -- copy the metadata object into the caller's buffer
even if it fails checksum verification.  This will help e2fsck avoid a
double re-read later on down the line.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2014-08-02 22:49:23 -04:00
config Update to latest version of config.* files 2014-07-04 23:49:39 -04:00
contrib tests: avoid using mktemp -t 2014-07-04 16:39:49 -04:00
debian Merge branch 'maint' into next 2014-07-22 14:57:40 -04:00
debugfs Merge branch 'maint' into next 2014-08-02 22:05:03 -04:00
doc Update release notes, etc. for final 1.42.11 release 2014-07-10 00:48:58 -04:00
e2fsck e2fsck: correctly preserve fs flags when modifying ignore-csum-error flag 2014-08-02 22:48:21 -04:00
ext2ed misc: create better-packaged static analysis reports 2014-05-11 18:32:07 -04:00
include/nonunix Remove trailing whitespace for the entire source tree 2008-08-27 23:07:54 -04:00
install-utils Remove Changelog files since they're not used after the git migration 2007-07-08 08:50:41 -04:00
intl misc: create better-packaged static analysis reports 2014-05-11 18:32:07 -04:00
lib libext2fs: don't cache inodes that fail checksum verification 2014-08-02 22:49:23 -04:00
misc dumpe2fs: complain when checksum verification fails 2014-08-02 22:26:15 -04:00
po po: update fr.po (from translationproject.org) 2014-07-13 13:12:51 -04:00
resize Merge branch 'maint' into next 2014-07-26 09:46:50 -04:00
tests libext2fs: don't cache inodes that fail checksum verification 2014-08-02 22:49:23 -04:00
util Merge branch 'maint' into next 2014-07-26 09:46:50 -04:00
.gitignore Use a wildcard for static libs in the git ignore list 2014-07-12 11:57:27 -04:00
.hgignore Ignore quilt work files 2005-07-19 08:41:27 -05:00
.missing-copyright Many files: 1997-04-29 16:15:03 +00:00
.release-checklist Update release checklist to include reminder to update translation 2008-07-10 17:25:22 -04:00
ABOUT-NLS Update to gettext 0.11.5. We now enable NLS support by default. 2003-05-03 16:35:17 -04:00
COPYING Clarify the copyright licenses used by the various libraries in COPYING 2007-06-23 01:04:53 -04:00
INSTALL Add a comment in INSTALL regarding --disable-tls on older systems 2008-07-10 09:08:44 -04:00
INSTALL.elfbin ChangeLog, INSTALL.elfbin: 1999-01-02 04:15:29 +00:00
MCONFIG.in Merge branch 'maint' into next 2014-07-06 00:09:27 -04:00
Makefile.in tst_libext2fs: add new debug program which used for libext2fs unit tests 2014-05-27 12:14:27 -04:00
README Update release notes, etc. for final 1.42.11 release 2014-07-10 00:48:58 -04:00
README.subset Update release notes, version files for 1.40.4 release 2008-01-01 00:35:17 -05:00
RELEASE-NOTES Merge remote-tracking branch 'origin/maint' into next 2014-07-10 01:07:39 -04:00
SHLIBS Many files: 1997-04-29 16:15:03 +00:00
SUBMITTING-PATCHES Added SUBMITTING-PATCHES file 2005-07-05 22:30:13 -05:00
TODO Update TODO to remove item which is already completed. 2006-05-13 09:28:04 -04:00
acinclude.m4 Fix up configure so it finds mkinstalldirs 2014-07-10 00:20:49 -04:00
aclocal.m4 aclocal.m4: update to newer versions of autoconf macros 2014-07-04 23:49:23 -04:00
configure Merge branch 'maint' into next 2014-08-02 22:05:03 -04:00
configure.in Merge branch 'maint' into next 2014-08-02 22:05:03 -04:00
depfix.sed Update Release Notes, Changelogs, version.h, etc. for 1.42 release 2011-11-29 16:48:14 -05:00
e2fsprogs.lsm Update release notes, etc. for final 1.42.11 release 2014-07-10 00:48:58 -04:00
e2fsprogs.spec.in misc: clean up compiler warnings 2011-06-11 10:58:25 -04:00
version.h Merge remote-tracking branch 'origin/maint' into next 2014-07-10 01:07:39 -04:00
wordwrap.pl Fix wordwrap.pl so it is more portable 2012-09-21 12:50:04 -04:00

README

	This is the new version (1.42.11) of the second extended file
system management programs.

	From time to time, I release new versions of e2fsprogs, to fix
bugs and to make the utilities more robust.  You can always find
information about the latest version at the the e2fsprogs web page,
which is:

	http://e2fsprogs.sourceforge.net

	The INSTALL file has instructions on building and installing
e2fsprogs.  Provisions for building Red Hat RPMs and Debian dpkg files
are supplied as well.

	In case of bugs in these programs, please contact Ted Ts'o at
tytso@mit.edu or tytso@alum.mit.edu.  See the e2fsck man page for
suggestions of what sort of information to include when submitting bug
reports for these programs.