Strange jffs2 behaviour

Juergen Beisert jbe at pengutronix.de
Fri Dec 4 11:29:55 EST 2009


Hi,

I'm using a 2.6.31.6 kernel here to work on an S3C2410 based CPU card and
three partitions in my 32 MiB NAND flash. Flash can be programmed by the boot
loader (root filesystem in one partition) or erased (the other two partitions
are currently empty).

System comes up with the root filesystem in the first partition and mounts the
other two partitions from some init scripts.

$ mount
rootfs on / type rootfs (rw)
/dev/root on / type jffs2 (rw,relatime)
[...]
/dev/mtdblock3 on /mnt/applicat type jffs2 (rw,noatime)
/dev/mtdblock4 on /mnt/data type jffs2 (rw,noatime)

$ df 
/dev/root                12416     12072       344  97% /
[...]
/dev/mtdblock3            8192       436      7756   5% /mnt/applicat
/dev/mtdblock4           10240       480      9760   5% /mnt/data

(the 5% in /dev/mtdblock3+4 are my sample files, to check if writing files
is working)

I can copy data from the root filesystem partition to the other two
partitions, run a "sync" and reboot and all the files are still present.

But when I simply unmount one of the two other partitions, I get:

JFFS2 notice: (417) jffs2_get_inode_nodes: Wrong magic bitmask 0x0000 in node header at 0x1be9e0.
JFFS2 warning: (417) jffs2_do_read_inode_internal: no data nodes found for ino #170
iget() failed for ino #170
JFFS2 warning: (417) jffs2_get_inode_nodes: Eep. No valid nodes for ino #170.
JFFS2 warning: (417) jffs2_do_read_inode_internal: no data nodes found for ino #170

And nothing else is working any more. E.g. any further access to any other
partition ends with something like this:

JFFS2 notice: (428) jffs2_get_inode_nodes: Wrong magic bitmask 0x0000 in node header at 0x1be8d8.
JFFS2 warning: (428) jffs2_do_read_inode_internal: no data nodes found for ino #168
iget() failed for ino #168
JFFS2 notice: (428) jffs2_get_inode_nodes: Wrong magic bitmask 0x0000 in node header at 0x1b4dd4.
JFFS2 notice: (428) jffs2_get_inode_nodes: Wrong magic bitmask 0x0000 in node header at 0x1b4774.
JFFS2 notice: (428) jffs2_get_inode_nodes: Wrong magic bitmask 0x0000 in node header at 0x1b4000.
JFFS2 notice: (428) jffs2_get_inode_nodes: Wrong magic bitmask 0x0000 in node header at 0x1b3704.
JFFS2 notice: (428) jffs2_get_inode_nodes: Wrong magic bitmask 0x0000 in node header at 0x1b300c.
[...]
JFFS2 notice: (428) jffs2_get_inode_nodes: Wrong magic bitmask 0x0000 in node header at 0x1a18c8.
JFFS2 notice: (428) jffs2_get_inode_nodes: Wrong magic bitmask 0x0000 in node header at 0x1a108c.
JFFS2 notice: (428) jffs2_get_inode_nodes: Wrong magic bitmask 0x0000 in node header at 0x1a08e0.
JFFS2 warning: (428) jffs2_do_read_inode_internal: no data nodes found for ino #164
Erase at 0x001a4000 failed immediately: errno -5

Any idea what can be wrong here?

jbe

-- 
Pengutronix e.K.                              | Juergen Beisert             |
Linux Solutions for Science and Industry      | Phone: +49-8766-939 228     |
Vertretung Sued/Muenchen, Germany             | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686              | http://www.pengutronix.de/  |



More information about the linux-mtd mailing list