mbox series

[v3,0/8] ext4: fix divide error in mb_update_avg_fragment_size()

Message ID 20240104142040.2835097-1-libaokun1@huawei.com
Headers show
Series ext4: fix divide error in mb_update_avg_fragment_size() | expand

Message

Baokun Li Jan. 4, 2024, 2:20 p.m. UTC
V2->V3:
  Replace patch 3's changelog with the one suggested by Jan Kara.
  Refactor the code in patch 4 to make it more readable, as suggested by Jan Kara.
  Patch 8 is adapted based on patch 4 after modification.
  Add Reviewed-by tag.

V1->V2:
  Fixed some things pointed out by Jan Kara.
  Fixed more cases where blocks could be allocated from corrupted groups.

[V1]: https://lore.kernel.org/all/20231218141814.1477338-1-libaokun1@huawei.com/
[V2]: https://lore.kernel.org/all/20231221150558.2740823-1-libaokun1@huawei.com/

Baokun Li (8):
  ext4: fix double-free of blocks due to wrong extents moved_len
  ext4: do not trim the group with corrupted block bitmap
  ext4: regenerate buddy after block freeing failed if under fc replay
  ext4: avoid bb_free and bb_fragments inconsistency in mb_free_blocks()
  ext4: avoid dividing by 0 in mb_update_avg_fragment_size() when block
    bitmap corrupt
  ext4: avoid allocating blocks from corrupted group in
    ext4_mb_try_best_found()
  ext4: avoid allocating blocks from corrupted group in
    ext4_mb_find_by_goal()
  ext4: mark the group block bitmap as corrupted before reporting an
    error

 fs/ext4/mballoc.c     | 91 ++++++++++++++++++++++++++++---------------
 fs/ext4/move_extent.c |  6 +--
 2 files changed, 62 insertions(+), 35 deletions(-)

Comments

Theodore Ts'o Feb. 4, 2024, 4:57 a.m. UTC | #1
On Thu, 04 Jan 2024 22:20:32 +0800, Baokun Li wrote:
> V2->V3:
>   Replace patch 3's changelog with the one suggested by Jan Kara.
>   Refactor the code in patch 4 to make it more readable, as suggested by Jan Kara.
>   Patch 8 is adapted based on patch 4 after modification.
>   Add Reviewed-by tag.
> 
> V1->V2:
>   Fixed some things pointed out by Jan Kara.
>   Fixed more cases where blocks could be allocated from corrupted groups.
> 
> [...]

Applied, thanks!

[1/8] ext4: fix double-free of blocks due to wrong extents moved_len
      commit: 55583e899a53
[2/8] ext4: do not trim the group with corrupted block bitmap
      commit: 172202152a12
[3/8] ext4: regenerate buddy after block freeing failed if under fc replay
      commit: c9b528c35795
[4/8] ext4: avoid bb_free and bb_fragments inconsistency in mb_free_blocks()
      commit: 2331fd4a4986
[5/8] ext4: avoid dividing by 0 in mb_update_avg_fragment_size() when block bitmap corrupt
      commit: 993bf0f4c393
[6/8] ext4: avoid allocating blocks from corrupted group in ext4_mb_try_best_found()
      commit: 4530b3660d39
[7/8] ext4: avoid allocating blocks from corrupted group in ext4_mb_find_by_goal()
      commit: 832698373a25
[8/8] ext4: mark the group block bitmap as corrupted before reporting an error
      commit: c5f3a3821de4

Best regards,