• Eric Whitney's avatar
    ext4: don't release reserved space for previously allocated cluster · 9d21c9fa
    Eric Whitney authored
    When xfstests' auto group is run on a bigalloc filesystem with a
    4.0-rc3 kernel, e2fsck failures and kernel warnings occur for some
    tests. e2fsck reports incorrect iblocks values, and the warnings
    indicate that the space reserved for delayed allocation is being
    overdrawn at allocation time.
    
    Some of these errors occur because the reserved space is incorrectly
    decreased by one cluster when ext4_ext_map_blocks satisfies an
    allocation request by mapping an unused portion of a previously
    allocated cluster.  Because a cluster's worth of reserved space was
    already released when it was first allocated, it should not be released
    again.
    
    This patch appears to correct the e2fsck failure reported for
    generic/232 and the kernel warnings produced by ext4/001, generic/009,
    and generic/033.  Failures and warnings for some other tests remain to
    be addressed.
    Signed-off-by: default avatarEric Whitney <enwlinux@gmail.com>
    Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
    9d21c9fa
extents.c 155 KB