corruption of JFFS2 filesystem, csize is set to 0 after moving a block

David Woodhouse dwmw2 at infradead.org
Thu Apr 26 11:43:57 EDT 2007


On Thu, 2007-04-26 at 16:54 +0200, Hans-Christian Egtvedt wrote:
> Hello,
> 
> When I stress the JFFS2 filesystem by copying files around on the root
> (/) I end up with a corrupted filesystem after a reboot. The system just
> hangs after the kernel is done booting:
> Freeing init memory: 56K (90000000 - 9000e000)
> 
> Where I should get:
> init started:  BusyBox v1.4.2 (2007-04-17 15:34:55 CEST) multi-call
> binary
> etc...
> 
> I copy and remove files until I reach "cp: write error: No space left on
> device"
> 
> I extracted the filesystem from my flash device (Atmel AT49BV642D) and
> did a dump. Here I can see that some of the nodes have a csize set to 0
> for vital files such as libdl-0.9.28.so.

There's not necessarily anything wrong with that.

> Any pointers to where I should start debugging, what can go wrong?
> 
> I can provide jffs2dump's, logs or images if needed.

Take a copy of the image, then work out where the kernel is stuck. Use
SysRq-P and/or SysRq-T, and if it's in JFFS2 try running with
CONFIG_JFFS2_FS_DEBUG=1 (and with 'verbose' on the command line), and
capture all the output on a serial console.

-- 
dwmw2





More information about the linux-mtd mailing list