Whamcloud - gitweb
LU-16843 ldiskfs: merge extent blocks 96/51096/14
authorAlex Zhuravlev <bzzz@whamcloud.com>
Tue, 23 May 2023 13:30:58 +0000 (16:30 +0300)
committerOleg Drokin <green@whamcloud.com>
Thu, 27 Jul 2023 13:45:05 +0000 (13:45 +0000)
commit0f7e6c02a9ea5b85d8d97f724bed318268cea60f
treeac0de76c0502da87cf89fe9b4f4eef076b5f15e7
parentd5051f374799bed527aa66d95ed270719747882f
LU-16843 ldiskfs: merge extent blocks

There are cases (e.g. file written synchronously with discontiguous
blocks that are later filled in) when a lot of extents are created
initially, then the extents get merged over time, but there is no
way to merge the index blocks.  This can cause a very deep extent
index tree (above 5 levels) and cause problems like:

inode has invalid extent depth: 6

Merge leave/index blocks (one at each level at most) to right/left
when extents are removed from the index.

submitted to ext4@ maillist:
https://lore.kernel.org/linux-ext4/7A2B8861-96AA-4815-BB58-180F63F62436@whamcloud.com/

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I746c0917e746eb442d3c69a23f591d9cdade76fa
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/51096
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Artem Blagodarenko <ablagodarenko@ddn.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
12 files changed:
ldiskfs/kernel_patches/patches/rhel7.9/ext4-ext-merge.patch [new file with mode: 0644]
ldiskfs/kernel_patches/patches/rhel8/ext4-ext-merge.patch [new file with mode: 0644]
ldiskfs/kernel_patches/series/ldiskfs-3.10-rhel7.9.series
ldiskfs/kernel_patches/series/ldiskfs-4.12-sles15sp1-7.series
ldiskfs/kernel_patches/series/ldiskfs-4.12-sles15sp1.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-5.14-rhel9.1.series
ldiskfs/kernel_patches/series/ldiskfs-5.14-rhel9.2.series
ldiskfs/kernel_patches/series/ldiskfs-5.14.21-sles15sp4.series
ldiskfs/kernel_patches/series/ldiskfs-5.14.21-sles15sp5.series
ldiskfs/kernel_patches/series/ldiskfs-5.3.18-sles15sp3.series