Skip to content
  • Jan Kara's avatar
    ext4: fix growing of tiny filesystems · 2c869b26
    Jan Kara authored
    
    
    The estimate of necessary transaction credits in ext4_flex_group_add()
    is too pessimistic. It reserves credit for sb, resize inode, and resize
    inode dindirect block for each group added in a flex group although they
    are always the same block and thus it is enough to account them only
    once. Also the number of modified GDT block is overestimated since we
    fit EXT4_DESC_PER_BLOCK(sb) descriptors in one block.
    
    Make the estimation more precise. That reduces number of requested
    credits enough that we can grow 20 MB filesystem (which has 1 MB
    journal, 79 reserved GDT blocks, and flex group size 16 by default).
    
    Signed-off-by: default avatarJan Kara <jack@suse.cz>
    Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
    Reviewed-by: default avatarEric Sandeen <sandeen@redhat.com>
    2c869b26