• yangerkun's avatar
    ext4: clear EXT4_GROUP_INFO_WAS_TRIMMED_BIT even mount with discard · 20cee68f
    yangerkun authored
    Commit 3d56b8d2 ("ext4: Speed up FITRIM by recording flags in
    ext4_group_info") speed up fstrim by skipping trim trimmed group. We
    also has the chance to clear trimmed once there exists some block free
    for this group(mount without discard), and the next trim for this group
    will work well too.
    
    For mount with discard, we will issue dicard when we free blocks, so
    leave trimmed flag keep alive to skip useless trim trigger from
    userspace seems reasonable. But for some case like ext4 build on
    dm-thinpool(ext4 blocksize 4K, pool blocksize 128K), discard from ext4
    maybe unaligned for dm thinpool, and thinpool will just finish this
    discard(see process_discard_bio when begein equals to end) without
    actually process discard. For this case, trim from userspace can really
    help us to free some thinpool block.
    
    So convert to clear trimmed flag for all case no matter mounted with
    discard or not.
    
    Fixes: 3d56b8d2
    
     ("ext4: Speed up FITRIM by recording flags in ext4_group_info")
    Signed-off-by: default avataryangerkun <yangerkun@huawei.com>
    Reviewed-by: default avatarJan Kara <jack@suse.cz>
    Link: https://patch.msgid.link/20240817085510.2084444-1-yangerkun@huaweicloud.com
    
    Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
    20cee68f
mballoc.c 199 KB