acrn-kernel/fs/ext4
Baokun Li 78327acd4c ext4: regenerate buddy after block freeing failed if under fc replay
[ Upstream commit c9b528c35795b711331ed36dc3dbee90d5812d4e ]

This mostly reverts commit 6bd97bf273 ("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 <jack@suse.cz>
Fixes: 6bd97bf273 ("ext4: remove redundant mb_regenerate_buddy()")
Signed-off-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20240104142040.2835097-4-libaokun1@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-02-16 19:06:24 +01:00
..
.kunitconfig
Kconfig
Makefile
acl.c
acl.h ext4: apply umask if ACL support is disabled 2023-11-28 17:07:21 +00:00
balloc.c ext4: add correct group descriptors and reserved GDT blocks to system zone 2023-09-19 12:28:05 +02:00
bitmap.c
block_validity.c ext4: add correct group descriptors and reserved GDT blocks to system zone 2023-09-19 12:28:05 +02:00
crypto.c ext4: fix memory leaks in ext4_fname_{setup_filename,prepare_lookup} 2023-09-19 12:28:05 +02:00
dir.c
ext4.h ext4: add correct group descriptors and reserved GDT blocks to system zone 2023-09-19 12:28:05 +02:00
ext4_extents.h
ext4_jbd2.c
ext4_jbd2.h
extents.c ext4: move 'ix' sanity check to corrent position 2023-11-20 11:52:06 +01:00
extents_status.c ext4: make sure allocate pending entry not fail 2023-12-03 07:32:10 +01:00
extents_status.h
fast_commit.c
fast_commit.h
file.c ext4: fix warning in ext4_dio_write_end_io() 2023-12-20 17:00:14 +01:00
fsmap.c
fsmap.h
fsync.c
hash.c
ialloc.c
indirect.c ext4: only update i_reserved_data_blocks on successful block allocation 2023-07-23 13:49:34 +02:00
inline.c
inode-test.c
inode.c ext4: mark buffer new if it is unwritten to avoid stale data exposure 2023-11-28 17:07:21 +00:00
ioctl.c ext4: fix to check return value of freeze_bdev() in ext4_shutdown() 2023-07-23 13:49:34 +02:00
mballoc.c ext4: regenerate buddy after block freeing failed if under fc replay 2024-02-16 19:06:24 +01:00
mballoc.h ext4: add two helper functions extent_logical_end() and pa_logical_end() 2023-11-02 09:35:32 +01:00
migrate.c
mmp.c
move_extent.c mm: merge folio_has_private()/filemap_release_folio() call pairs 2024-01-10 17:10:31 +01:00
namei.c ext4: fix rec_len verify error 2023-09-23 11:11:12 +02:00
orphan.c
page-io.c
readpage.c
resize.c ext4: avoid online resizing failures due to oversized flex bg 2024-02-05 20:12:49 +00:00
super.c ext4: turn quotas off if mount failed after enabling quotas 2023-07-23 13:49:34 +02:00
symlink.c
sysfs.c
truncate.h
verity.c
xattr.c ext4: correct inline offset when handling xattrs in inode body 2023-07-27 08:50:31 +02:00
xattr.h
xattr_hurd.c
xattr_security.c
xattr_trusted.c
xattr_user.c