• Darrick J. Wong's avatar
    ext4: error out if verifying the block bitmap fails · 48d9eb97
    Darrick J. Wong authored
    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: default avatarDarrick J. Wong <darrick.wong@oracle.com>
    Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
    48d9eb97
balloc.c 24.2 KB