root inode corrupted; tries to clear and reallocate, but can't

Paul d'Aoust amillionlobsters at gmail.com
Fri Jan 11 04:32:37 UTC 2008


Hi there. I think I fscked up my filesystem (betcha nobody's used that
one before!). I made the mistake of fscking an online ext3 filesystem
(guess I wasn't paying attention or I was sick of it being so paranoid
or something) and quickly discovered why I'm not supposed to do that.
The root inode somehow got corrupted, and a whole bunch of inodes
started claiming the same blocks. Here's the result of my attempt to
mount:

mount: wrong fs type, bad option, bad superblock on /dev/hda1, missing
codepage or helper program, or other error. In some cases useful info
is found in syslog -- try dmesg | tail or so

So 'dmesg' reveals this:

EXT3-fs: corrupt root inode, run e2fsck

Then, when I run e2fsck, the first thing it says is

Root inode is not a directory. Clear?

I say 'yes', and then it proceeds to correct and then delete the
parent entry for every inode in the root directory (owing to the fact
that their parent, inode 2, has just been cleared). Here's the exact
wording:

Missing '..' in directory inode 5406734.
Fix? yes

Entry '..' in ... (5406734) has deleted/unused inode 2. Clear? yes

Then, in pass 3, when it tries to repair the root inode, it says

Root inode not allocated. Allocate? yes

Error creating root directory (extfs_new_block): Could not allocate
block in ext2 filesystem
e2fsck: aborted

Now, I know I have more than just a couple free blocks, partly because
debug2fs says so, and partly because I've tried deleting inodes and
freeing up blocks. Some I deleted when e2fsck asked me if I wanted to
clone or delete the multiply-claimed blocks, and some I deleted by
using 'iclr' in debug2fs. I've tried unallocating the root inode and
its block manually, and it still says it can't allocate any block in
the filesystem when it tries to rebuild the root inode.

If anybody has some insight or suggestions, I would love to hear them!

Thanks in advance,
Paul d'Aoust




More information about the Ext3-users mailing list