Commit addd752c authored by Chunguang Xu's avatar Chunguang Xu Committed by Theodore Ts'o
Browse files

ext4: make mb_check_counter per group



Make bb_check_counter per group, so each group has the same chance
to be checked, which can expose errors more easily.

Signed-off-by: default avatarChunguang Xu <brookxu@tencent.com>
Link: https://lore.kernel.org/r/1601292995-32205-2-git-send-email-brookxu@tencent.com


Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
parent 9d1f9b27
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -3154,6 +3154,9 @@ int ext4_update_disksize_before_punch(struct inode *inode, loff_t offset,

struct ext4_group_info {
	unsigned long   bb_state;
#ifdef AGGRESSIVE_CHECK
	unsigned long	bb_check_counter;
#endif
	struct rb_root  bb_free_root;
	ext4_grpblk_t	bb_first_free;	/* first free block */
	ext4_grpblk_t	bb_free;	/* total free blocks */
+2 −5
Original line number Diff line number Diff line
@@ -619,11 +619,8 @@ static int __mb_check_buddy(struct ext4_buddy *e4b, char *file,
	void *buddy;
	void *buddy2;

	{
		static int mb_check_counter;
		if (mb_check_counter++ % 100 != 0)
	if (e4b->bd_info->bb_check_counter++ % 10)
		return 0;
	}

	while (order > 1) {
		buddy = mb_find_buddy(e4b, order, &max);