JFFS2 Corruption.

simon at baydel.com simon at baydel.com
Thu Feb 19 11:48:45 EST 2004

I am having problems using JFFS2 filesystems on a NAND device. I have had 
these problems in the past an decided not to use this method for storing my data.
I would really like to do this and I was wondering if anyone else had been able to 
run such a system reliably ? The NAND device is a 128MB SMC and I have 
downloaded the mtd code from CVS within the last week.

I am using mtdpart to provide partitions but for the moment I am only using mtd1 as 
a root file system. To build this I perform the following steps.

1. Boot system via network and mount nfs root
2. eraseall /dev/mtd1
3. mount -t jffs2 /dev/mtdblock1 /smc
4. cd /smc
5. tar xvzf /rootfilesystem.tgz
6. unmount /smc

I then reboot using the SMC as my root filesystem. As the system gets rebooted 
and incurrs more writes I get the following kinds of message

Empty flash at 0x00469ffcb ends at 0x0046a000


jffs2_scan_dirent_node(): Node CRC failed on node at 0x0046a7f0 
read 0xffffffff calculated 0xdec8161b

I have written in before about these messages and I understand that the first is of 
no concern but the second relates to write data which may not have been written to 
the SMC.

The thing is I have had this happen on two completely different harware designs. 
On an X86 board and the other a PPC. 

I have checked and the OS umounts root as it shuts down. Also I cannot find 
fsck.jffs2 in the util directory. Does it exist ?

In trying to debug this I noticed that the device was still reporting busy when 
nand_command was entered. I have put a line of code in to delay until the device is 
ready at the start of the routine. It is my understanding that if the device is busy 
when you try and select/deselect or send a command the outcome cannot be 
predicted. If this is not the case I would like to understand why. If it is how does any 
of the NAND code work ? 

Any help greatly appreciated 

Cheers Simon.


Simon Haynes - Baydel 
Phone : 44 (0) 1372 378811
Email : simon at baydel.com

More information about the linux-mtd mailing list