Re: [PATCH v4 00/12] ext4: fix WARNING in ext4_da_update_reserve_space

Baokun Li
2023-05-24T07:30:43Z

A gentle ping too.

On 2023/4/24 11:38, Baokun Li wrote:
> V1->V2:
> Modify the patch 1 description and add the Fixes tag.
> Add the patch 2 as suggested by Jan Kara.
> V2->V3:
> Remove the redundant judgment of count in Patch [1].
> Rename ext4_es_alloc_should_nofail to ext4_es_must_keep.
> Split Patch [2].
> Make some functions return void to simplify the code.
> V3->V4:
> using nofail preallocation.
>
> This patch set consists of three parts:
> 1. Patch [1] fix WARNING in ext4_da_update_reserve_space.
> 2. Patch [2]-[8] fix extent tree inconsistencies that may be caused
> by memory allocation failures.
> 3. Patch [9]-[12] is cleanup.
>
> Baokun Li (12):
> ext4: only update i_reserved_data_blocks on successful block
> allocation
> ext4: add a new helper to check if es must be kept
> ext4: factor out __es_alloc_extent() and __es_free_extent()
> ext4: use pre-allocated es in __es_insert_extent()
> ext4: use pre-allocated es in __es_remove_extent()
> ext4: using nofail preallocation in ext4_es_remove_extent()
> ext4: using nofail preallocation in ext4_es_insert_delayed_block()
> ext4: using nofail preallocation in ext4_es_insert_extent()
> ext4: make ext4_es_remove_extent() return void
> ext4: make ext4_es_insert_delayed_block() return void
> ext4: make ext4_es_insert_extent() return void
> ext4: make ext4_zeroout_es() return void
>
> fs/ext4/extents.c | 49 +++------
> fs/ext4/extents_status.c | 207 ++++++++++++++++++++++++---------------
> fs/ext4/extents_status.h | 14 +--
> fs/ext4/indirect.c | 8 ++
> fs/ext4/inline.c | 12 +--
> fs/ext4/inode.c | 49 ++-------
> 6 files changed, 169 insertions(+), 170 deletions(-)
>