[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1601292995-32205-2-git-send-email-brookxu@tencent.com>
Date: Mon, 28 Sep 2020 19:36:35 +0800
From: Chunguang Xu <brookxu.cn@...il.com>
To: adilger.kernel@...ger.ca, tytso@....edu
Cc: linux-ext4@...r.kernel.org
Subject: [PATCH] ext4: make mb_check_counter per group
From: Chunguang Xu <brookxu@...cent.com>
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: Chunguang Xu <brookxu@...cent.com>
---
fs/ext4/ext4.h | 3 +++
fs/ext4/mballoc.c | 7 ++-----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
index 523e00d..b883a78 100644
--- a/fs/ext4/ext4.h
+++ b/fs/ext4/ext4.h
@@ -3153,6 +3153,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 */
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index 6487d5c..2705a4c 100644
--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -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)
- return 0;
- }
+ if (e4b->bd_info->bb_check_counter++ % 10)
+ return 0;
while (order > 1) {
buddy = mb_find_buddy(e4b, order, &max);
--
1.8.3.1
Powered by blists - more mailing lists