• J
    ext4: New inode allocation for FLEX_BG meta-data groups. · 772cb7c8
    Jose R. Santos 提交于
    This patch mostly controls the way inode are allocated in order to
    make ialloc aware of flex_bg block group grouping.  It achieves this
    by bypassing the Orlov allocator when block group meta-data are packed
    toghether through mke2fs.  Since the impact on the block allocator is
    minimal, this patch should have little or no effect on other block
    allocation algorithms. By controlling the inode allocation, it can
    basically control where the initial search for new block begins and
    thus indirectly manipulate the block allocator.
    
    This allocator favors data and meta-data locality so the disk will
    gradually be filled from block group zero upward.  This helps improve
    performance by reducing seek time.  Since the group of inode tables
    within one flex_bg are treated as one giant inode table, uninitialized
    block groups would not need to partially initialize as many inode
    table as with Orlov which would help fsck time as the filesystem usage
    goes up.
    Signed-off-by: NJose R. Santos <jrs@us.ibm.com>
    Signed-off-by: NValerie Clement <valerie.clement@bull.net>
    Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
    772cb7c8
ialloc.c 28.3 KB