* fsck: i_blocks is xxx should be yyy on ext3 @ 2006-02-08 15:00 Helge Hafting 2006-02-09 6:53 ` Andrew Morton 0 siblings, 1 reply; 6+ messages in thread From: Helge Hafting @ 2006-02-08 15:00 UTC (permalink / raw) To: linux-kernel Today I rebooted into 2.6.16-rc2-mm1. Fsck checked a "clean" ext3 fs, because it was many mounts since the last time. I have seen that many times, but this time I got a lot of "i_blocks is xxx, should be yyy fix?" In all cases, the blocks were fixed to a lower number. I did a init 1, and checked the other filesystems. It was the same everywhere, some i_blocks had do be fixed, and the superblock was last updated in the future. Is this normal somehow, or has something strange happened to ext3 lately? I have experimented with the "barrier" option, but it gets disabled because barrier based sync fails on the devices. May this cause silent errors? I thought I simply didn't get the advantages of barriers. data=writeback made no difference from the default data=journal, all filesystems had these wrong i_blocks. Helge Hafting ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: fsck: i_blocks is xxx should be yyy on ext3 2006-02-08 15:00 fsck: i_blocks is xxx should be yyy on ext3 Helge Hafting @ 2006-02-09 6:53 ` Andrew Morton 2006-02-16 0:44 ` Mingming Cao 0 siblings, 1 reply; 6+ messages in thread From: Andrew Morton @ 2006-02-09 6:53 UTC (permalink / raw) To: Helge Hafting; +Cc: linux-kernel, Mingming Cao Helge Hafting <helge.hafting@aitel.hist.no> wrote: > > Today I rebooted into 2.6.16-rc2-mm1. Fsck checked a "clean" ext3 fs, > because it was many mounts since the last time. > > I have seen that many times, but this time I got a lot of > "i_blocks is xxx, should be yyy fix?" > > In all cases, the blocks were fixed to a lower number. Yes, thanks. It's due to the ext3_getblocks() patches in -mm. I can't think of any actual harm which it'll cause. To reproduce: mkfs mount dbench 32 <wait 20 seconds> killall dbench umount fsck ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: fsck: i_blocks is xxx should be yyy on ext3 2006-02-09 6:53 ` Andrew Morton @ 2006-02-16 0:44 ` Mingming Cao 2006-02-16 1:13 ` Andrew Morton 2006-02-16 7:47 ` Helge Hafting 0 siblings, 2 replies; 6+ messages in thread From: Mingming Cao @ 2006-02-16 0:44 UTC (permalink / raw) To: Andrew Morton; +Cc: Helge Hafting, linux-kernel On Wed, 2006-02-08 at 22:53 -0800, Andrew Morton wrote: > Helge Hafting <helge.hafting@aitel.hist.no> wrote: > > > > Today I rebooted into 2.6.16-rc2-mm1. Fsck checked a "clean" ext3 fs, > > because it was many mounts since the last time. > > > > I have seen that many times, but this time I got a lot of > > "i_blocks is xxx, should be yyy fix?" > > > > In all cases, the blocks were fixed to a lower number. > > Yes, thanks. It's due to the ext3_getblocks() patches in -mm. I can't > think of any actual harm which it'll cause. > > To reproduce: > > mkfs > mount > dbench 32 > <wait 20 seconds> > killall dbench > umount > fsck > - Sorry about the late response. I failed to reproduce the problem with above instructions. I am running 2.6.16-rc2-mm1 kernel, played dbench 32 ,64 and 128, and tried both 8 cpu and 1 cpu, still no luck at last. I am using e2fsck version 1.35 though. What versions you are using? Thanks! Mingming ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: fsck: i_blocks is xxx should be yyy on ext3 2006-02-16 0:44 ` Mingming Cao @ 2006-02-16 1:13 ` Andrew Morton 2006-02-16 7:47 ` Helge Hafting 1 sibling, 0 replies; 6+ messages in thread From: Andrew Morton @ 2006-02-16 1:13 UTC (permalink / raw) To: cmm; +Cc: helge.hafting, linux-kernel Mingming Cao <cmm@us.ibm.com> wrote: > > On Wed, 2006-02-08 at 22:53 -0800, Andrew Morton wrote: > > Helge Hafting <helge.hafting@aitel.hist.no> wrote: > > > > > > Today I rebooted into 2.6.16-rc2-mm1. Fsck checked a "clean" ext3 fs, > > > because it was many mounts since the last time. > > > > > > I have seen that many times, but this time I got a lot of > > > "i_blocks is xxx, should be yyy fix?" > > > > > > In all cases, the blocks were fixed to a lower number. > > > > Yes, thanks. It's due to the ext3_getblocks() patches in -mm. I can't > > think of any actual harm which it'll cause. > > > > To reproduce: > > > > mkfs > > mount > > dbench 32 > > <wait 20 seconds> > > killall dbench > > umount > > fsck > > - > > Sorry about the late response. I failed to reproduce the problem with > above instructions. I am running 2.6.16-rc2-mm1 kernel, played dbench > 32 ,64 and 128, and tried both 8 cpu and 1 cpu, still no luck at last. It happens - I tried it just then. It only failed one time in five attempts, and that with just a single inode. > I am using e2fsck version 1.35 though. What versions you are using? > e2fsprogs-1.34-1 e2fsck -fn /dev/hda5 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: fsck: i_blocks is xxx should be yyy on ext3 2006-02-16 0:44 ` Mingming Cao 2006-02-16 1:13 ` Andrew Morton @ 2006-02-16 7:47 ` Helge Hafting 2006-02-16 19:00 ` Mingming Cao 1 sibling, 1 reply; 6+ messages in thread From: Helge Hafting @ 2006-02-16 7:47 UTC (permalink / raw) To: cmm; +Cc: Andrew Morton, linux-kernel Mingming Cao wrote: >On Wed, 2006-02-08 at 22:53 -0800, Andrew Morton wrote: > > >>Helge Hafting <helge.hafting@aitel.hist.no> wrote: >> >> >>> Today I rebooted into 2.6.16-rc2-mm1. Fsck checked a "clean" ext3 fs, >>> because it was many mounts since the last time. >>> >>> I have seen that many times, but this time I got a lot of >>> "i_blocks is xxx, should be yyy fix?" >>> >>> In all cases, the blocks were fixed to a lower number. >>> >>> >>Yes, thanks. It's due to the ext3_getblocks() patches in -mm. I can't >>think of any actual harm which it'll cause. >> >>To reproduce: >> >>mkfs >>mount >>dbench 32 >><wait 20 seconds> >>killall dbench >>umount >>fsck >>- >> >> > >Sorry about the late response. I failed to reproduce the problem with >above instructions. I am running 2.6.16-rc2-mm1 kernel, played dbench >32 ,64 and 128, and tried both 8 cpu and 1 cpu, still no luck at last. I >am using e2fsck version 1.35 though. What versions you are using? > > single cpu, e2fsck 1.39-WIP (31-Dec-2005) Using EXT2FS Library version 1.39-WIP, 31-Dec-2005 I didn't use dbench, only normal use of the machine. Helge Hafting ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: fsck: i_blocks is xxx should be yyy on ext3 2006-02-16 7:47 ` Helge Hafting @ 2006-02-16 19:00 ` Mingming Cao 0 siblings, 0 replies; 6+ messages in thread From: Mingming Cao @ 2006-02-16 19:00 UTC (permalink / raw) To: Helge Hafting; +Cc: Andrew Morton, linux-kernel On Thu, 2006-02-16 at 08:47 +0100, Helge Hafting wrote: > Mingming Cao wrote: > > >On Wed, 2006-02-08 at 22:53 -0800, Andrew Morton wrote: > > > > > >>Helge Hafting <helge.hafting@aitel.hist.no> wrote: > >> > >> > >>> Today I rebooted into 2.6.16-rc2-mm1. Fsck checked a "clean" ext3 fs, > >>> because it was many mounts since the last time. > >>> > >>> I have seen that many times, but this time I got a lot of > >>> "i_blocks is xxx, should be yyy fix?" > >>> > >>> In all cases, the blocks were fixed to a lower number. > >>> > >>> > >>Yes, thanks. It's due to the ext3_getblocks() patches in -mm. I can't > >>think of any actual harm which it'll cause. > >> > >>To reproduce: > >> > >>mkfs > >>mount > >>dbench 32 > >><wait 20 seconds> > >>killall dbench > >>umount > >>fsck > >>- > >> > >> > > > >Sorry about the late response. I failed to reproduce the problem with > >above instructions. I am running 2.6.16-rc2-mm1 kernel, played dbench > >32 ,64 and 128, and tried both 8 cpu and 1 cpu, still no luck at last. I > >am using e2fsck version 1.35 though. What versions you are using? > > > > > single cpu, e2fsck 1.39-WIP (31-Dec-2005) > Using EXT2FS Library version 1.39-WIP, 31-Dec-2005 > > I didn't use dbench, only normal use of the machine. > > Helge Hafting > > I was able to constantly reproduce this problem on another machine with 1 cpu, and find the bug. In the ext3_new_blocks() code, if the # of allocated blocks (num) is less than the requested # of blocks to allocate (*count), we will need to free some quota via DQUOT_FREE_BLOCK(), which will eventually adjust i_blocks value properly. the delta value *count-num is wrong, as we re- set the *count too early. The patch seems fixed the bug on my machine, could you please give it a try? Thanks. linux-2.6.15-cmm/fs/ext3/balloc.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN fs/ext3/balloc.c~ext3-getblocks-i_blocks-fix fs/ext3/balloc.c --- linux-2.6.15/fs/ext3/balloc.c~ext3-getblocks-i_blocks-fix 2006-02-16 10:19:23.000000000 -0800 +++ linux-2.6.15-cmm/fs/ext3/balloc.c 2006-02-16 10:19:49.000000000 -0800 @@ -1441,8 +1441,8 @@ allocated: *errp = 0; brelse(bitmap_bh); - *count = num; DQUOT_FREE_BLOCK(inode, *count-num); + *count = num; return ret_block; io_error: ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2006-02-16 19:00 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2006-02-08 15:00 fsck: i_blocks is xxx should be yyy on ext3 Helge Hafting 2006-02-09 6:53 ` Andrew Morton 2006-02-16 0:44 ` Mingming Cao 2006-02-16 1:13 ` Andrew Morton 2006-02-16 7:47 ` Helge Hafting 2006-02-16 19:00 ` Mingming Cao
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®