Fork of e2fsprogs with inode table reallocator
 
 
 
 
 
 
Go to file
Darrick J. Wong 38d5adf339 e2fsck/debugfs: fix descriptor block size handling errors with journal_csum
It turns out that there are some serious problems with the on-disk
format of journal checksum v2.  The foremost is that the function to
calculate descriptor tag size returns sizes that are too big.  This
causes alignment issues on some architectures and is compounded by the
fact that some parts of jbd2 use the structure size (incorrectly) to
determine the presence of a 64bit journal instead of checking the
feature flags.  These errors regrettably lead to the journal
corruption reported by Mr. Reardon.

Therefore, introduce journal checksum v3, which enlarges the
descriptor block tag format to allow for full 32-bit checksums of
journal blocks, fix the journal tag function to return the correct
sizes, and fix the jbd2 recovery code to use feature flags to
determine 64bitness.

Add a few function helpers so we don't have to open-code quite so
many pieces.

Switching to a 16-byte block size was found to increase journal size
overhead by a maximum of 0.1%, to convert a 32-bit journal with no
checksumming to a 32-bit journal with checksum v3 enabled.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reported-by: TR Reardon <thomas_reardon@hotmail.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2014-09-11 12:40:54 -04:00
config Update to latest version of config.* files 2014-07-04 23:49:39 -04:00
contrib contrib: add script to help resync journal code with kernel 2014-08-26 23:32:05 -04:00
debian v1.42.12 2014-08-29 11:38:33 -04:00
debugfs e2fsck/debugfs: fix descriptor block size handling errors with journal_csum 2014-09-11 12:40:54 -04:00
doc Interim updates of release notes, etc. in preparation for 1.42.12 release 2014-08-25 10:30:53 -04:00
e2fsck e2fsck/debugfs: fix descriptor block size handling errors with journal_csum 2014-09-11 12:40:54 -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 e2fsck/debugfs: fix descriptor block size handling errors with journal_csum 2014-09-11 12:40:54 -04:00
misc e2fsck/debugfs: fix descriptor block size handling errors with journal_csum 2014-09-11 12:40:54 -04:00
po po: update vi.po (from translationproject.org) 2014-08-29 08:46:03 -04:00
resize Merge branch 'maint' into next 2014-09-11 12:40:43 -04:00
tests Merge branch 'maint' into next 2014-09-11 12:40:43 -04:00
util Merge branch 'maint' into next 2014-07-26 09:46:50 -04:00
.gitignore .gitignore: Add misc/e2fuzz file 2014-08-03 00:14:14 -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-09-11 12:40:43 -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 Interim updates of release notes, etc. in preparation for 1.42.12 release 2014-08-25 10:30:53 -04:00
README.subset Update release notes, version files for 1.40.4 release 2008-01-01 00:35:17 -05:00
RELEASE-NOTES v1.42.12 2014-08-29 11:38:33 -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-08 17:02:34 -04:00
configure.in Merge branch 'maint' into next 2014-08-08 17:02:34 -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.12 release 2014-08-29 09:00:51 -04:00
e2fsprogs.spec.in misc: clean up compiler warnings 2011-06-11 10:58:25 -04:00
version.h v1.42.12 2014-08-29 11:38:33 -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.12) 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.