diff mbox series

ext4: add a hint for block bitmap corrupt state in mb_groups

Message ID 20240119061154.1525781-1-yi.zhang@huaweicloud.com
State Accepted
Headers show
Series ext4: add a hint for block bitmap corrupt state in mb_groups | expand

Commit Message

Zhang Yi Jan. 19, 2024, 6:11 a.m. UTC
From: Zhang Yi <yi.zhang@huawei.com>

If one group is marked as block bitmap corrupted, its free blocks cannot
be used and its free count is also deducted from the global
sbi->s_freeclusters_counter. User might be confused about the absent
free space because we can't query the information about corrupted block
groups except unreliable error messages in syslog. So add a hint to show
block bitmap corrupted groups in mb_groups.

Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
---
 fs/ext4/mballoc.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Jan Kara Jan. 19, 2024, 2:33 p.m. UTC | #1
On Fri 19-01-24 14:11:54, Zhang Yi wrote:
> From: Zhang Yi <yi.zhang@huawei.com>
> 
> If one group is marked as block bitmap corrupted, its free blocks cannot
> be used and its free count is also deducted from the global
> sbi->s_freeclusters_counter. User might be confused about the absent
> free space because we can't query the information about corrupted block
> groups except unreliable error messages in syslog. So add a hint to show
> block bitmap corrupted groups in mb_groups.
> 
> Signed-off-by: Zhang Yi <yi.zhang@huawei.com>

Looks good. Feel free to add:

Reviewed-by: Jan Kara <jack@suse.cz>

								Honza

> ---
>  fs/ext4/mballoc.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
> index d72b5e3c92ec..641c9be8e25e 100644
> --- a/fs/ext4/mballoc.c
> +++ b/fs/ext4/mballoc.c
> @@ -3035,7 +3035,10 @@ static int ext4_mb_seq_groups_show(struct seq_file *seq, void *v)
>  	for (i = 0; i <= 13; i++)
>  		seq_printf(seq, " %-5u", i <= blocksize_bits + 1 ?
>  				sg.info.bb_counters[i] : 0);
> -	seq_puts(seq, " ]\n");
> +	seq_puts(seq, " ]");
> +	if (EXT4_MB_GRP_BBITMAP_CORRUPT(&sg.info))
> +		seq_puts(seq, " Block bitmap corrupted!");
> +	seq_puts(seq, "\n");
>  
>  	return 0;
>  }
> -- 
> 2.39.2
>
Theodore Ts'o Feb. 22, 2024, 3:54 p.m. UTC | #2
On Fri, 19 Jan 2024 14:11:54 +0800, Zhang Yi wrote:
> If one group is marked as block bitmap corrupted, its free blocks cannot
> be used and its free count is also deducted from the global
> sbi->s_freeclusters_counter. User might be confused about the absent
> free space because we can't query the information about corrupted block
> groups except unreliable error messages in syslog. So add a hint to show
> block bitmap corrupted groups in mb_groups.
> 
> [...]

Applied, thanks!

[1/1] ext4: add a hint for block bitmap corrupt state in mb_groups
      commit: 68ee261fb15457ecb17e3683cb4e6a4792ca5b71

Best regards,
diff mbox series

Patch

diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index d72b5e3c92ec..641c9be8e25e 100644
--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -3035,7 +3035,10 @@  static int ext4_mb_seq_groups_show(struct seq_file *seq, void *v)
 	for (i = 0; i <= 13; i++)
 		seq_printf(seq, " %-5u", i <= blocksize_bits + 1 ?
 				sg.info.bb_counters[i] : 0);
-	seq_puts(seq, " ]\n");
+	seq_puts(seq, " ]");
+	if (EXT4_MB_GRP_BBITMAP_CORRUPT(&sg.info))
+		seq_puts(seq, " Block bitmap corrupted!");
+	seq_puts(seq, "\n");
 
 	return 0;
 }