Hi£¡ thank you Charles! as you say, it due to spare/OOB area . i eventually find that nand_read_oob( ) in nand_base.c frustrate me for many days.it works well when insert a 3us delay in nand_read_oob( ): --- nand_base.c.orig 2005-09-09 09:19:40.000000000 +0800 +++ nand_base.c 2005-09-09 08:52:04.000000000 +0800 @@ -1318,6 +1318,7 @@ int blockcheck = (1 << (this->phys_erase_shift - this->page_shift)) - 1; DEBUG (MTD_DEBUG_LEVEL3, "nand_read_oob: from = 0x%08x, len = %i\n", (unsigned int) from, (i nt) len); + udelay(3); /* Shift to get page */ page = (int)(from >> this->page_shift); chipnr = (int)(from >> this->chip_shift); ======= 2005-09-09 06:05:20 Charles wrote£º======= >Hi > >Lost data over an unmout/remout cycle is almost certainly due to an issue in >the spare/OOB area such that the placement being done by mtd is not what is >expected by yaffs. > >-- Charles > > >On Tuesday 06 September 2005 18:39, Jian Zhang wrote: >> hi, >> I use yaffs(the latest cvs from aleph1) on linux-2.4.21 with backported >> mtd(mtd20040705).there is no problem on the first mount.but it seems >> like lost data when i umount it then remount it.here is my log: >> 1)reset and system run >> 2)flash_eraseall /dev/mtd/0 &&insmod yaffs.o >> 3)mount -t yaffs /dev/mtdblock/0 ./yaffs_mnt >> 4)/yaffs/yaffs_mnt # cp /home/www/rtc_ds1337.o ./ >> 5)/yaffs/yaffs_mnt # ls -l >> drw-rw-rw- 1 root root 512 Jan 1 04:23 lost+found >> -rw-r--r-- 1 root root 10745 Jan 1 04:22 rtc_ds1337.o >> 6)/yaffs/yaffs_mnt # insmod rtc_ds1337.o >> Using rtc_ds1337.o >> 7)/yaffs # umount yaffs_mnt/ >> mtdblock_release >> ok >> 8)/yaffs # mount -t yaffs /dev/mtdblock/0 ./yaffs_mnt/ >> mtdblock_open >> ok >> yaffs: Attempting MTD mount on 31.0, "1f:00" >> 9)/yaffs/yaffs_mnt # ls -l >> drw-rw-rw- 1 root root 512 Jan 1 04:23 lost+found >> -rw-r--r-- 1 root root 10745 Jan 1 04:22 rtc_ds1337.o >> ***you will see the file size is the same as 5) >> 10)/yaffs/yaffs_mnt # insmod rtc_ds1337.o >> Using rtc_ds1337.o >> pc : [<4014b5b4>] lr : [<00043888>] Not tainted >> sp : bfffd768 ip : bfffd7e4 fp : bfffd7e0 >> r10: bfffd9f8 r9 : 00000009 r8 : 000a5df8 >> r7 : 00000000 r6 : 001b63b8 r5 : 001b6f48 r4 : 001b6c48 >> r3 : 00000000 r2 : 00000009 r1 : 000a5df8 r0 : 00000000 >> Flags: nzCv IRQs on FIQs on Mode USER_32 Segment user >> Control: C000717F Table: 05F90000 DAC: 00000015 >> Segmentation fault >> >> i have do as this for times ,it has the same result! so i do consider >> it lose data when umount it.any body can give me some hints? >> thanks! >> JianZhang >>_______________________________________________ >> yaffs mailing list >> yaffs@stoneboat.aleph1.co.uk >> http://stoneboat.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs ¡¡Jian Zhang ¡¡2005-09-09