diff options
author | Baokun Li <[email protected]> | 2024-01-04 22:20:35 +0800 |
---|---|---|
committer | Theodore Ts'o <[email protected]> | 2024-01-18 10:50:24 -0500 |
commit | c9b528c35795b711331ed36dc3dbee90d5812d4e (patch) | |
tree | 1581a404dc6b69cc5921550b9ad6fcd761a12269 /lib/netdev-notifier-error-inject.c | |
parent | 172202152a125955367393956acf5f4ffd092e0d (diff) |
ext4: regenerate buddy after block freeing failed if under fc replay
This mostly reverts commit 6bd97bf273bd ("ext4: remove redundant
mb_regenerate_buddy()") and reintroduces mb_regenerate_buddy(). Based on
code in mb_free_blocks(), fast commit replay can end up marking as free
blocks that are already marked as such. This causes corruption of the
buddy bitmap so we need to regenerate it in that case.
Reported-by: Jan Kara <[email protected]>
Fixes: 6bd97bf273bd ("ext4: remove redundant mb_regenerate_buddy()")
Signed-off-by: Baokun Li <[email protected]>
Reviewed-by: Jan Kara <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Theodore Ts'o <[email protected]>
Diffstat (limited to 'lib/netdev-notifier-error-inject.c')
0 files changed, 0 insertions, 0 deletions