Re: ext3: bogus i_mode errors with 2.6.18.1

From: Andre Noll
Date: Thu Oct 26 2006 - 12:03:44 EST


On 03:36, Andreas Dilger wrote:

> On Oct 25, 2006 11:44 +0200, Andre Noll wrote:
> > Are you saying that ext3_set_bit() should simply be called with
> > "ret_block" as its first argument? If yes, that is what the revised
> > patch below does.
>
> You might need to call ext3_set_bit_atomic() (as claim_block() does,
> not sure.

I _think_ it doesn't matter much which one is used as on most archs
ext3_set_bit_atomic() is only a wrapper for test_and_set_bit() just like
ext3_set_bit() is. The only exceptions seem to be those archs that use
the generic bitops and m68knommu.

> The other issue is that you need to potentially set "num" bits in the
> bitmap here, if those all overlap metadata. In fact, it might just
> make more sense at this stage to walk all of the bits in the bitmaps,
> the inode table and the backup superblock and group descriptor to see
> if they need fixing also.

I tried to implement this, but I could not find out how to check at this
point whether a given bit (in the block bitmap, say) needs fixing.

Thanks
Andre
--
The only person who always got his work done by Friday was Robinson Crusoe

Attachment: signature.asc
Description: Digital signature