Darrick J. Wong
48d9eb97dc
ext4: error out if verifying the block bitmap fails
...
The block bitmap verification code assumes that calling ext4_error()
either panics the system or makes the fs readonly. However, this is
not always true: when 'errors=continue' is specified, an error is
printed but we don't return any indication of error to the caller,
which is (probably) the block allocator, which pretends that the crud
we read in off the disk is a usable bitmap. Yuck.
A block bitmap that fails the check should at least return no bitmap
to the caller. The block allocator should be told to go look in a
different group, but that's a separate issue.
The easiest way to reproduce this is to modify bg_block_bitmap (on a
^flex_bg fs) to point to a block outside the block group; or you can
create a metadata_csum filesystem and zero out the block bitmaps.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2013-08-28 15:35:27 -04:00
..
acl.c
ext4: fix the number of credits needed for acl ops with inline data
2013-02-09 15:23:03 -05:00
acl.h
fs: take the ACL checks to common code
2011-07-25 14:30:23 -04:00
balloc.c
ext4: error out if verifying the block bitmap fails
2013-08-28 15:35:27 -04:00
bitmap.c
ext4: Checksum the block bitmap properly with bigalloc enabled
2012-10-22 00:34:32 -04:00
block_validity.c
ext2/3/4: delete unneeded includes of module.h
2012-01-09 13:52:10 +01:00
dir.c
ext4: Fix misspellings using 'codespell' tool
2013-08-28 14:40:12 -04:00
ext4.h
ext4: isolate ext4_extents.h file
2013-08-28 14:47:06 -04:00
ext4_extents.h
ext4: isolate ext4_extents.h file
2013-08-28 14:47:06 -04:00
ext4_jbd2.c
jbd2: Fix use after free after error in jbd2_journal_dirty_metadata()
2013-08-12 09:53:28 -04:00
ext4_jbd2.h
ext4: Fix misspellings using 'codespell' tool
2013-08-28 14:40:12 -04:00
extents.c
ext4: isolate ext4_extents.h file
2013-08-28 14:47:06 -04:00
extents_status.c
ext4: isolate ext4_extents.h file
2013-08-28 14:47:06 -04:00
extents_status.h
ext4: isolate ext4_extents.h file
2013-08-28 14:47:06 -04:00
file.c
jbd2: Fix oops in jbd2_journal_file_inode()
2013-08-16 21:19:41 -04:00
fsync.c
ext4: Fix fsync error handling after filesystem abort
2013-06-12 22:38:04 -04:00
hash.c
ext4: reduce one "if" comparison in ext4_dirhash()
2013-02-01 22:33:21 -05:00
ialloc.c
ext4: avoid reusing recently deleted inodes in no journal mode
2013-08-16 22:06:55 -04:00
indirect.c
ext4: isolate ext4_extents.h file
2013-08-28 14:47:06 -04:00
inline.c
Lots of bug fixes, cleanups and optimizations. In the bug fixes
2013-07-02 09:39:34 -07:00
inode.c
ext4: Fix misspellings using 'codespell' tool
2013-08-28 14:40:12 -04:00
ioctl.c
ext4: isolate ext4_extents.h file
2013-08-28 14:47:06 -04:00
Kconfig
ext4: fix Kconfig documentation for CONFIG_EXT4_DEBUG
2013-04-21 20:32:03 -04:00
Makefile
ext4: Remove CONFIG_EXT4_FS_XATTR
2012-12-10 16:30:43 -05:00
mballoc.c
ext4: fix warning in ext4_da_update_reserve_space()
2013-08-17 09:36:54 -04:00
mballoc.h
ext4: use module parameters instead of debugfs for mballoc_debug
2013-02-09 16:28:20 -05:00
migrate.c
ext4: Fix misspellings using 'codespell' tool
2013-08-28 14:40:12 -04:00
mmp.c
ext4: mark all metadata I/O with REQ_META
2013-04-20 15:46:17 -04:00
move_extent.c
ext4: cache all of an extent tree's leaf block upon reading
2013-08-16 21:23:41 -04:00
namei.c
ext4: allocate delayed allocation blocks before rename
2013-08-16 22:06:53 -04:00
page-io.c
ext4: rate limit printk in buffer_io_error()
2013-07-11 22:42:42 -04:00
resize.c
ext4: fix corruption when online resizing a fs with 1K block size
2013-07-01 08:12:08 -04:00
super.c
ext4: fix mount/remount error messages for incompatible mount options
2013-08-08 23:02:24 -04:00
symlink.c
ext4: Remove CONFIG_EXT4_FS_XATTR
2012-12-10 16:30:43 -05:00
truncate.h
ext4: move common truncate functions to header file
2011-06-27 19:16:04 -04:00
xattr.c
ext4: fix miscellaneous big endian warnings
2013-04-09 23:59:55 -04:00
xattr.h
ext4: reserve xattr index for Rich ACL support
2013-04-18 14:53:15 -04:00
xattr_security.c
Merge branch 'for_linus' into for_linus_merged
2012-01-10 11:54:07 -05:00
xattr_trusted.c
ext2/3/4: delete unneeded includes of module.h
2012-01-09 13:52:10 +01:00
xattr_user.c
ext2/3/4: delete unneeded includes of module.h
2012-01-09 13:52:10 +01:00