hang on jffs2 mount

Hinko Kocevar hinko.kocevar at cetrtapot.si
Wed Apr 23 08:59:45 EDT 2008


Hi all,

We are using ancient kernel 2.6.12 on our embedded devices.
After being in the wild about two/three years the devices
started having issues with mounting jffs2 rootfs that is
located on NOR flash. The devices are turned off on daily
basis without any power management - power is just cut
off from the board while jffs2 filesystems are still
mounted!!! I think this might be the main reason for
the hangs we are experiencing.

I've managed to start the device with NFS mounted rootfs
and then manually mounted the flash rootfs.
If using 2.6.12 kernel for this 'rescue' procedure it hangs
the device - not responding anymore.
More success was achieved using 2.6.25 kernel - it actually
managed to mount the offending flash rootfs with following
dmesg messages:


# mount -t jffs2 /dev/mtdblk2 /mnt

jffs2_scan_eraseblock(): Node at 0x00213f54 {0x1985, 0xffff, 0xffffffff) has invalid CRC 0xffffffff (calculated 0x19861e00)
JFFS2 notice: (656) jffs2_get_inode_nodes: Node header CRC failed at 0x260320. {ffff,ffff,ffffffff,ffffffff}
JFFS2 notice: (656) jffs2_get_inode_nodes: Node header CRC failed at 0x260364. {ffff,ffff,ffffffff,ffffffff}
JFFS2 notice: (656) jffs2_get_inode_nodes: Node header CRC failed at 0x2602ac. {ffff,ffff,ffffffff,ffffffff}
JFFS2 notice: (656) jffs2_get_inode_nodes: Node header CRC failed at 0x2603a8. {ffff,ffff,ffffffff,ffffffff}
JFFS2 notice: (656) jffs2_get_inode_nodes: Node header CRC failed at 0x2603ec. {ffff,ffff,ffffffff,ffffffff}
JFFS2 notice: (656) jffs2_get_inode_nodes: Node header CRC failed at 0x260268. {ffff,ffff,ffffffff,ffffffff}
JFFS2 notice: (656) jffs2_get_inode_nodes: Node header CRC failed at 0x260430. {ffff,ffff,ffffffff,ffffffff}
JFFS2 notice: (656) jffs2_get_inode_nodes: Node header CRC failed at 0x260474. {ffff,ffff,ffffffff,ffffffff}
JFFS2 notice: (656) jffs2_get_inode_nodes: Node header CRC failed at 0x260224. {ffff,ffff,ffffffff,ffffffff}
JFFS2 notice: (656) jffs2_get_inode_nodes: Node header CRC failed at 0x2604b8. {ffff,ffff,ffffffff,ffffffff}
JFFS2 notice: (656) jffs2_get_inode_nodes: Node header CRC failed at 0x2604fc. {ffff,ffff,ffffffff,ffffffff}
JFFS2 notice: (656) jffs2_get_inode_nodes: Node header CRC failed at 0x260540. {ffff,ffff,ffffffff,ffffffff}
JFFS2 notice: (656) jffs2_get_inode_nodes: Node header CRC failed at 0x2601e0. {ffff,ffff,ffffffff,ffffffff}
JFFS2 notice: (656) jffs2_get_inode_nodes: Node header CRC failed at 0x260584. {ffff,ffff,ffffffff,ffffffff}
JFFS2 notice: (656) jffs2_get_inode_nodes: Node header CRC failed at 0x2605c8. {ffff,ffff,ffffffff,ffffffff}
JFFS2 notice: (656) jffs2_get_inode_nodes: Node header CRC failed at 0x26060c. {ffff,ffff,ffffffff,ffffffff}

Seeing those ffff, ffffffff values makes me thinking that
info was read from erased flash sector or similar!?

Would upgrade to more recent kernel fix the hangs during
bootup or can this be solved only with clean umount before
poweroff?

Regards,
Hinko

-- 
ČETRTA POT, d.o.o., Kranj
Planina 3
4000 Kranj
Slovenia, Europe
Tel. +386 (0) 4 280 66 03
E-mail: hinko.kocevar at cetrtapot.si
Http: www.cetrtapot.si




More information about the linux-mtd mailing list