JFFS2 problem with MTD & 2.4.17

olivier.eribon at acterna.com olivier.eribon at acterna.com
Tue Aug 6 09:46:23 EDT 2002


Hello,

I am using JFFS2 (from CVS july 01 2002) and 2.4.17 linux kernel on a
specific board (ppc405gp with a nand flash : Toshiba TC58256FT/DC)
Before using my nand flash partition :

[root at serdmq7111 /root]# eraseall /dev/mtd1
[root at serdmq7111 /root]# mount -t jffs2 /dev/mtdblock1 /mnt/jffsp2 where
/mnt/jffsp2 is the NAND flash partition
[root at serdmq7111 /root]# cd /mnt/jffsp2
[root at serdmq7111 /mnt/jffsp2]# tar xvf /files.tar
[root at serdmq7111 /mnt/jffsp2]# cd
[root at serdmq7111 /root]# umount /mnt/jffsp2
reboot

*-1-* When I mounted my JFFS2 flash partition, I got the following on the
console.

Linux version 2.4.17_mvl21 (oeribon at ensun14) (gcc version 2.95.3 20010315
(release/MontaVista))
JFFS2 version 2.1. (C) 2001, 2002 Red Hat, Inc., designed by Axis
Communications AB.
NAND device: Manufacture ID: 0x98, Chip ID: 0x75 (Toshiba TC58256FT/DC)
Creating 2 MTD partitions on "Toshiba TC58256FT/DC":
0x00000000-0x00100000 : "boot"
0x00100000-0x02000000 : "partition 31Mo" <= I using only this partition
serdmq7111 login: root

[root at serdmq7111 /root]# mount -t jffs2 /dev/mtdblock1 /mnt/jffsp2
jffs2_scan_empty(): Empty block at 0x0179b588 ends at 0x0179b5f4 (with
0x1985e002)! Marking dirty

Time after time (after writting on flash) more and more blocks are indicated
as Empty block and Marking dirty.
Why ?
How can I solve this problem ? (because this message induce long time to
mount partition.)


*-2-* I have another problem with files :
for example when I do :
[root at serdmq7111 /root]# mkdir /mnt/jffsp2/dir where /mnt/jffsp2 is the NAND
flash partition
[root at serdmq7111 /root]# cp /MAKEDEV /mnt/jffsp2/dir/f0
[root at serdmq7111 /root]# cp /MAKEDEV /mnt/jffsp2/dir/f1
[root at serdmq7111 /root]# cp /MAKEDEV /mnt/jffsp2/dir/f2

[root at serdmq7111 /root]# umount /mnt/jffsp2
reboot
[root at serdmq7111 /root]# mount -t jffs2 /dev/mtdblock1 /mnt/jffsp2
no problem

but when I erase files, and for each mount I have the same message
[root at serdmq7111 /root]#rm -rf /mnt/jffsp2/dir
[root at serdmq7111 /root]# umount /mnt/jffsp2
reboot
[root at serdmq7111 /root]# mount -t jffs2 /dev/mtdblock1 /mnt/jffsp2
I got the following on the console.

Inode #???? was a directory with children - removing those too...
Cannot remove child "f0", ino #0, because it doesn't exist
Cannot remove child "f1", ino #0, because it doesn't exist
Cannot remove child "f2", ino #0, because it doesn't exist
Why ?
How can I solve this problem ? (because this message induce long time to
mount partition.)


*-3-* And after erasing files, the system periodically does not respond for
multiple "seconds" to
CR's on the bash prompt.
What's going on?

Thanks in advance for your time and your help !

Best regards,

Olivier






More information about the linux-mtd mailing list