2014-11-21 14:52:54

by Eric Whitney

[permalink] [raw]
Subject: [PATCH 0/4] ext4: bigalloc partial cluster handling fixes

Some xfstests that perform hole punching operations fail as a result of
partial cluster handling bugs when run on bigalloc file systems. These
failures are manifested in the form of bad i_blocks values and block
bitmap differences reported by e2fsck when it is run on the test
filesystem at the conclusion of these xfstests. e2fsck typically
reports that the file system is inconsistent, and messages may appear
in the kernel log indicating that freed blocks are already on the
to-be-freed list, a block bitmap is corrupt, etc. Depending upon the
bug encountered, both overfreeing and underfreeing of blocks can occur.

Examples of these xfstests include generic/300 and shared/298. Once
the first patch in this series is applied, new failures (generic/013,
for example) may appear and then disappear with successive patch
applications until all have been applied.

Eric Whitney (4):
ext4: fix partial cluster initialization
ext4: fix end of leaf partial cluster handling
ext4: miscellaneous partial cluster cleanups
ext4: fix end of region partial cluster handling

fs/ext4/extents.c | 169 +++++++++++++++++++++++++++++-------------------------
1 file changed, 92 insertions(+), 77 deletions(-)

--
1.9.1