• Theodore Ts'o's avatar
    ext4: undo ext4_calc_metadata_amount if we fail to claim space · 03179fe9
    Theodore Ts'o authored
    The function ext4_calc_metadata_amount() has side effects, although
    it's not obvious from its function name.  So if we fail to claim
    space, regardless of whether we retry to claim the space again, or
    return an error, we need to undo these side effects.
    
    Otherwise we can end up incorrectly calculating the number of metadata
    blocks needed for the operation, which was responsible for an xfstests
    failure for test #271 when using an ext2 file system with delalloc
    enabled.
    Reported-by: default avatarBrian Foster <bfoster@redhat.com>
    Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
    Cc: stable@vger.kernel.org
    03179fe9
inode.c 140 KB