• Zheng Liu's avatar
    ext4: make the zero-out chunk size tunable · 67a5da56
    Zheng Liu authored
    Currently in ext4 the length of zero-out chunk is set to 7 file system
    blocks.  But if an inode has uninitailized extents from using
    fallocate to preallocate space, and the workload issues many random
    writes, this can cause a fragmented extent tree that will
    unnecessarily grow the extent tree.
    
    So create a new sysfs tunable, extent_max_zeroout_kb, which controls
    the maximum size where blocks will be zeroed out instead of creating a
    new uninitialized extent.  The default of this has been sent to 32kb.
    
    CC: Zach Brown <zab@zabbo.net>
    CC: Andreas Dilger <adilger@dilger.ca>
    Signed-off-by: default avatarZheng Liu <wenqing.lz@taobao.com>
    Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
    67a5da56
ext4.h 86.9 KB