lkml.org 
[lkml]   [1997]   [Jan]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] Re: Corrupted inode list?
From
Date
I am getting this error in spades on an IDE disk (2.0.27, no patches
200MHz Pentium with 64MB of RAM).

...
Dec 31 03:03:50 altair kernel: EXT2-fs warning (device 16:02): ext2_free_inode: bit already cleared for inode 102442
Dec 31 03:03:50 altair kernel: EXT2-fs warning (device 16:02): ext2_free_inode: bit already cleared for inode 102443
Dec 31 03:03:50 altair kernel: EXT2-fs warning (device 16:02): ext2_free_inode: bit already cleared for inode 102444
Dec 31 03:04:01 altair kernel: EXT2-fs warning (device 16:02): ext2_free_inode: bit already cleared for inode 102441
...
Jan 3 12:20:42 altair kernel: EXT2-fs warning (device 16:02): ext2_free_inode: bit already cleared for inode 170081

I've only detected it occuring on the machine's third disk, and it
seems to bite 4 consecutive inodes at a time when it strikes.

>>>>> "Benjamin" == Benjamin C R LaHaise <blah@dot.superaje.com> writes:

Benjamin> On Fri, 29 Nov 1996, Stephen C. Tweedie wrote:

>> Ahh, *this* ugly problem rears its head again. I thought we had slain
>> this three years ago. :)
>>
>> > Ok, this is still the same bug I've had a patch avail for the past
>> > month... no more inode corruption. The following patch fixes the
>> > following:
>> > a. inode list corrupted if put_inode slept after calling
>> > clear_inode, inode could be allocated by iget
>>
>> This shouldn't happen. We found this problem after a long period of
>> searching, and Linus and I fixed it before 1.0. It is _really_ subtle
>> --- anybody remember all the "bit already cleared" error reports that
>> were floating around just prior to 1.0?
>>
>> The problem hasn't been seen in years, but if you are experiencing it
>> on a VFAT filesystem then my immediate reaction is that FAT itself is
>> doing something wrong.
>>
>> On investigation this appears to be the case --- FAT is ignoring a
>> totally undocumented requirement of the VFS. :) The reuse of inodes
>> can't happen as long as the put_inode() operation keeps the inode
>> in-use flag set right up until the end. Under the ext2fs, for
>> example, we call clear_inode() (thus clearing inode->i_nlinks) right
>> before the final unlock and return in ext2_free_inode(). FAT,
>> however, clears the inode and then continues to iput() a couple of
>> other inodes, an operation which can block. <Beep> Wrong move, you
>> lose.
>>
>> Does this much smaller patch fix your problem?



--
steve@miranova.com baur
Unsolicited commercial e-mail will be billed at $250/message.
"That Bill Clinton. He probably doesn't know how to log on to the
Internet." -- Rush Limbaugh, noted Computer Expert

\
 
 \ /
  Last update: 2005-03-22 13:38    [W:0.098 / U:7.040 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site