OOPS at mount

Joakim Tjernlund joakim.tjernlund at transmode.se
Thu Apr 26 08:43:23 EDT 2007


On Thu, 2007-04-26 at 13:31 +0100, David Woodhouse wrote:
> On Thu, 2007-04-26 at 13:45 +0200, Joakim Tjernlund wrote:
> > > JFFS2 warning: (316) jffs2_do_read_inode_internal: Truncating ino
> > #9943 to 4627829 bytes failed because it only had 16384 bytes to start
> > with!
> 
> I don't understand this. Looking at the image you gave me, and
> instrumenting jffs2_scan_inode_node() to print every node it finds
> belonging to that inode, I see this:
> 
> Node at 20830232 is ino #9943, version 2. Range 0x0-0x1000, isize 4096
> Node at 20832264 is ino #9943, version 3. Range 0x1000-0x2000, isize 8192
> Node at 20833744 is ino #9943, version 4. Range 0x2000-0x3000, isize 12288
> Node at 20834972 is ino #9943, version 5. Range 0x3000-0x4000, isize 16384
> Node at 46094176 is ino #9943, version 1172. Range 0x0-0x0, isize 16384
> 
> So I have no clue why your system is trying to truncate that inode to
> 4627829 bytes. Can you run with the same thing in scan.c? It looks like
> this...
> 
> 	if (ino == 9943)
> 	printk(KERN_DEBUG "Node at %u is ino #%x, version %d. Range 0x%x-0x%x, isize %u\n",
> 	       ofs,
> 		  je32_to_cpu(ri->ino), je32_to_cpu(ri->version),
> 		  je32_to_cpu(ri->offset),
> 	       je32_to_cpu(ri->offset)+je32_to_cpu(ri->dsize),
> 	       je32_to_cpu(ri->isize));
> 

I get this:
Node at 20830232 is ino #26d7, version 2. Range 0x0-0x1000, isize 4096
Node at 20832264 is ino #26d7, version 3. Range 0x1000-0x2000, isize 8192
Node at 20833744 is ino #26d7, version 4. Range 0x2000-0x3000, isize 12288
Node at 20834972 is ino #26d7, version 5. Range 0x3000-0x4000, isize 16384
Node at 46094176 is ino #26d7, version 1172. Range 0x0-0x0, isize 16384

And yes I did use SUMMARY and tured it off some tme ago.





More information about the linux-mtd mailing list