Whamcloud - gitweb
LU-14712 ldiskfs: introduce EXT4_BG_TRIMMED to optimize fstrim 23/51923/9
authorLi Dongyang <dongyangli@ddn.com>
Fri, 11 Aug 2023 05:32:31 +0000 (15:32 +1000)
committerOleg Drokin <green@whamcloud.com>
Tue, 25 Jun 2024 03:24:55 +0000 (03:24 +0000)
commitad30edf91065d733d7da68de755acf1043429101
tree612ff2bae7412b6b272cfe03dcaa226fc0350f1a
parent5d326b5a5681c21c4066cdf4990369c35ed7a2a8
LU-14712 ldiskfs: introduce EXT4_BG_TRIMMED to optimize fstrim

Currently the flag indicating block group has done fstrim is not
persistent, and trim status will be lost after remount, as
a result fstrim can not skip the already trimmed groups, which
could be slow on very large devices.

This patch introduces a new block group flag EXT4_BG_TRIMMED,
we need 1 extra block group descriptor write after trimming each
block group.
When clearing the flag, the block group descriptor is journalled
already so no extra overhead.

Add a new super block flag EXT2_FLAGS_TRACK_TRIM, to indicate if
we should honour EXT4_BG_TRIMMED when doing fstrim.
The new super block flag can be turned on/off via tune2fs.

Change-Id: I7faaca4754b1726ad05d0aafe3e90e0e9f591617
Test-Parameters: trivial
Signed-off-by: Li Dongyang <dongyangli@ddn.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/51923
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Sergey Cheremencev <scherementsev@ddn.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
ldiskfs/kernel_patches/patches/rhel7.9/ext4-introduce-EXT4_BG_TRIMMED-to-optimize-fstrim.patch [new file with mode: 0644]
ldiskfs/kernel_patches/patches/rhel9/ext4-introduce-EXT4_BG_TRIMMED-to-optimize-fstrim.patch [new file with mode: 0644]
ldiskfs/kernel_patches/series/ldiskfs-3.10-rhel7.9.series
ldiskfs/kernel_patches/series/ldiskfs-4.18-rhel8.10.series
ldiskfs/kernel_patches/series/ldiskfs-4.18-rhel8.7.series
ldiskfs/kernel_patches/series/ldiskfs-4.18-rhel8.8.series
ldiskfs/kernel_patches/series/ldiskfs-4.18-rhel8.9.series
ldiskfs/kernel_patches/series/ldiskfs-5.14-rhel9.1.series
ldiskfs/kernel_patches/series/ldiskfs-5.14-rhel9.2.series
ldiskfs/kernel_patches/series/ldiskfs-5.14-rhel9.3.series