2011-03-16 09:37:35

by Robin Dong

[permalink] [raw]
Subject: [PATCH] ext4: critical info format fix in __acquire

From: Robin Dong <[email protected]>

When we do performence-testing on ext4 filesystem, we observe a warning
like this:

[ 1684.113205] EXT4-fs error (device sda7): ext4_mb_generate_buddy:718: group 259825901 blocks in bitmap, 26057 in gd

indeed, it should be

group 2598, 25901 blocks in bitmap, 26057 in gd.

Reviewed-by: Coly Li <[email protected]>
Signed-off-by: Robin Dong <[email protected]>
---
fs/ext4/super.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index f6a318f..bb38475 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -594,7 +594,7 @@ __acquires(bitlock)

vaf.fmt = fmt;
vaf.va = &args;
- printk(KERN_CRIT "EXT4-fs error (device %s): %s:%d: group %u",
+ printk(KERN_CRIT "EXT4-fs error (device %s): %s:%d: group %u, ",
sb->s_id, function, line, grp);
if (ino)
printk(KERN_CONT "inode %lu: ", ino);
--
1.7.3.5



2011-03-16 10:14:48

by Coly Li

[permalink] [raw]
Subject: Re: [PATCH] ext4: critical info format fix in __acquire

On 2011年03月16日 17:37, Robin Dong Wrote:
> From: Robin Dong<[email protected]>
>
> When we do performence-testing on ext4 filesystem, we observe a warning
[snip]

This bug is found on upstream 2.6.36 kernel. We ran a 2.6.36 kernel on the online system with 8 Ext4 file systems. 2 of
them are mounted with delayed allocation feature. This warning is only observed on delayed allocation enabled Ext4 file
systems.

This issue is not easy to reproduce, on two servers with 2.6.36 kenrel + ext4, after running 110+ days, the error starts
to appear on kernel log. When check the error log, we found the info format should be fixed, that's how this patch comes.

For the bug mentioned in Robin's patch, we will start another thread to discuss.

Thanks.

Coly Li

2011-03-16 14:52:28

by Tao Ma

[permalink] [raw]
Subject: Re: [PATCH] ext4: critical info format fix in __acquire

Hi Robin,
The function that has the problem isn't ;__acquire', but
__ext4_grp_locked_error. the description __acquire is used for sparse
check. So I guess it is a little misleading for the subject. Please
change it. Thanks.

btw, You can add Cc: [email protected] in your patch if you want this
patch to be in stable.

Regards,
Tao
On 03/16/2011 05:37 PM, Robin Dong wrote:
> From: Robin Dong <[email protected]>
>
> When we do performence-testing on ext4 filesystem, we observe a warning
> like this:
>
> [ 1684.113205] EXT4-fs error (device sda7): ext4_mb_generate_buddy:718: group 259825901 blocks in bitmap, 26057 in gd
>
> indeed, it should be
>
> group 2598, 25901 blocks in bitmap, 26057 in gd.
>
> Reviewed-by: Coly Li <[email protected]>
> Signed-off-by: Robin Dong <[email protected]>
> ---
> fs/ext4/super.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/fs/ext4/super.c b/fs/ext4/super.c
> index f6a318f..bb38475 100644
> --- a/fs/ext4/super.c
> +++ b/fs/ext4/super.c
> @@ -594,7 +594,7 @@ __acquires(bitlock)
>
> vaf.fmt = fmt;
> vaf.va = &args;
> - printk(KERN_CRIT "EXT4-fs error (device %s): %s:%d: group %u",
> + printk(KERN_CRIT "EXT4-fs error (device %s): %s:%d: group %u, ",
> sb->s_id, function, line, grp);
> if (ino)
> printk(KERN_CONT "inode %lu: ", ino);