Finding which block 'contains' a missing inode
Thomas Gleixner
tglx at linutronix.de
Thu Sep 23 03:10:56 EDT 2004
On Thu, 2004-09-23 at 02:43, Wookey wrote:
> Hello people, I have a JFFS2 NAND rootfs which is giving a single
> 'Eep. Child "gpe-filemanager.desktop" (ino #3324) of dir ino #3035 doesn't
> exist!' error.
>
> I'd like to know if there is a way of finding out either form the live fs or
> from the jffs2 image file which block the offending inode/file should have
> been on?
Get a binary image from the chip and process it with
jffs2dump -vc binimg >img.dmp
The dump should tell you where which node/fragment resides
> Background: The kernel indicated one 'bad erase block' that is under this
> fs, but flasheraseall found no problem, and nandwrite did not skip that
> block. I worry that the block in question doesn't actually have the right
> data in it - if it corresponded to the above inode then I'd be sure I had
> located the problem.
What do you mean ? "kernel indicated one 'bad erase block'".
How is it indicated ?
> There is also a 'normal' bad block (which gives an IO error when
> flasheraseall tries to erase it) - this _is_ skipped by nandwrite as expected.
Are you using current MTD code ?
The code checks the device for bad blocks when nand_scan is called. It
usually prints the bad block information. Is this your 'normal' bad
block ?
tglx
More information about the linux-mtd
mailing list