• R
    ext4: use stream-alloc when mb_group_prealloc set to zero · ebbe0277
    Robin Dong 提交于
    The kernel will crash on 
    
    ext4_mb_mark_diskspace_used:
    	BUG_ON(ac->ac_b_ex.fe_len <= 0);
    
    after we set /sys/fs/ext4/sda/mb_group_prealloc to zero and create new files in an ext4 filesystem.
    
    The reason is: ac_b_ex.fe_len also set to zero(mb_group_prealloc) in ext4_mb_normalize_group_request
    because the ac_flags contains EXT4_MB_HINT_GROUP_ALLOC.
    
    I think when someone set mb_group_prealloc to zero, it means DO NOT USE GROUP PREALLOCATION,
    so we should set alloc-strategy to STREAM in this case.
    Signed-off-by: NRobin Dong <sanbai@taobao.com>
    Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
    ebbe0277
mballoc.c 139.3 KB