mbox series

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

Message ID 20230424033846.4732-1-libaokun1@huawei.com
Headers show
Series ext4: fix WARNING in ext4_da_update_reserve_space | expand

Message

Baokun Li April 24, 2023, 3:38 a.m. UTC
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(-)

Comments

Baokun Li May 24, 2023, 7:30 a.m. UTC | #1
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(-)
>
Theodore Ts'o June 9, 2023, 3:14 a.m. UTC | #2
On Mon, 24 Apr 2023 11:38:34 +0800, 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.
> 
> [...]

Applied, thanks!

[01/12] ext4: only update i_reserved_data_blocks on successful block allocation
        commit: 58f109aeac17eb37069e63a082264683bbfaf696
[02/12] ext4: add a new helper to check if es must be kept
        commit: 353c585db33932679f6f8c00414745ce09c841c2
[03/12] ext4: factor out __es_alloc_extent() and __es_free_extent()
        commit: eee0d79e61a904b103a5604496f595a435690a82
[04/12] ext4: use pre-allocated es in __es_insert_extent()
        commit: 2e7ff3411271a1dec6b8bf58b8f81286e927727c
[05/12] ext4: use pre-allocated es in __es_remove_extent()
        commit: d89b8ec674242325c2a4dcb894fdb7ee04d63312
[06/12] ext4: using nofail preallocation in ext4_es_remove_extent()
        commit: 413ebcba8610df6db5740f9bb551ea41dc353171
[07/12] ext4: using nofail preallocation in ext4_es_insert_delayed_block()
        commit: d40d2a66f5035413531f5450ed94731bb907d852
[08/12] ext4: using nofail preallocation in ext4_es_insert_extent()
        commit: bbaaebb30b6e75c1998d7ef58a2207a01a611524
[09/12] ext4: make ext4_es_remove_extent() return void
        commit: d0dc2a074d20492b46339eb7674c3527a1a9b0a2
[10/12] ext4: make ext4_es_insert_delayed_block() return void
        commit: 6b014bd8fede82619a08e5abe497daef5ef1796c
[11/12] ext4: make ext4_es_insert_extent() return void
        commit: 4ac358b63dba50218b8e46352ef319f490945a86
[12/12] ext4: make ext4_zeroout_es() return void
        commit: 703f64cb4dc0b7d30a7125bd3f28ba785f1e4351

Best regards,