hang on jffs2 mount
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
Signature · 7 lines
ČETRTA POT, d.o.o., Kranj Planina 3 4000 Kranj Slovenia, Europe Tel. +386 (0) 4 280 66 03 E-mail: [email protected] Http: www.cetrtapot.si