[Yaffs] [BUG] bonnie++ triggers bug in yaffs_guts.c

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: yi li
Date:  
To: yaffs
Subject: [Yaffs] [BUG] bonnie++ triggers bug in yaffs_guts.c
Hi,

I run bonnie++ ver1.94 on Linux-2.6.28 on Yaffs2/Nand. The yaffs2 is
downloaded from CVS (Jan 22, 2009).
I am testing on ADI BF548-Ezkit. While running bonnie++ file operation
tests, there is bug triggered while doing deleting testing.
What is the cause of this bug?

root:/> flash_eraseall /dev/mtd4
Erasing 128 Kibyte @ 7e60000 -- 50 % complete.
Skipping bad block at 0x07e80000

Skipping bad block at 0x07ea0000
Erasing 128 Kibyte @ fc00000 -- 100 % complete.
root:/> mount -t yaffs2 /dev/mtdblock4 /mnt/
yaffs: dev is 32505860 name is "mtdblock4"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.4, "mtdblock4"
block 1013 is bad
block 1014 is bad
yaffs_read_super: isCheckpointed 0
root:/> bonnie++ -u root -d /mnt -s 0
Using uid:0, gid:0.
Create files in sequential order...
save exit: isCheckpointed 1
done.
Stat files in sequential order...done.
Delete files in sequential order...==>> yaffs bug: fs/yaffs2/yaffs_guts.c 6832
==>> yaffs bug: fs/yaffs2/yaffs_guts.c 6759
==>> yaffs bug: fs/yaffs2/yaffs_guts.c 6759
save exit: isCheckpointed 1
done.
Create files in random order...save exit: isCheckpointed 1
done.
Stat files in random order...done.
Delete files in random order...==>> yaffs bug: fs/yaffs2/yaffs_guts.c 6832
==>> yaffs bug: fs/yaffs2/yaffs_guts.c 6759
==>> yaffs bug: fs/yaffs2/yaffs_guts.c 6759
save exit: isCheckpointed 1
done.
Version  1.94       ------Sequential Create------ --------Random Create--------
blackfin            -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16   101  97  4357  76   473  59   100  97  8677 100   230  80
Latency             24000us   16000us   24000us   24000us    4000us   31999us


More information on the system:
root:/> cat /proc/yaffs
YAFFS built:Jan 22 2009 11:46:45
$Id: yaffs_fs.c,v 1.71 2009/01/22 00:45:54 charles Exp $
$Id: yaffs_guts.c,v 1.74 2009/01/18 23:24:08 charles Exp $

Device 0 "file system(nand)"
startBlock......... 0
endBlock........... 2015
totalBytesPerChunk. 2048
nDataBytesPerChunk. 2048
chunkGroupBits..... 0
chunkGroupSize..... 1
nErasedBlocks...... 1504
nReservedBlocks.... 5
blocksInCheckpoint. 1
nTnodesCreated..... 16400
nFreeTnodes........ 16400
nObjectsCreated.... 16500
nFreeObjects....... 16396
nFreeChunks........ 128832
nPageWrites........ 0
nPageReads......... 0
nBlockErasures..... 1036
nGCCopies.......... 513
garbageCollections. 784
passiveGCs......... 784
nRetriedWrites..... 0
nShortOpCaches..... 10
nRetireBlocks...... 0
eccFixed........... 0
eccUnfixed......... 0
tagsEccFixed....... 0
tagsEccUnfixed..... 0
cacheHits.......... 0
nDeletedFiles...... 0
nUnlinkedFiles..... 65540
nBackgroudDeletions 0
useNANDECC......... 1
isYaffs2........... 1
inbandTags......... 0

About the Nand flash:
BF5xx on-chip NAND FLash Controller Driver, Version 1.2 (c) 2007
Analog Devices, Inc.
bf5xx-nand bf5xx-nand.0: page_size=256, data_width=8, wr_dly=3, rd_dly=3
NAND device: Manufacturer ID: 0x20, Chip ID: 0xda (ST Micro NAND
256MiB 3,3V 8-bit)
Creating 2 MTD partitions on "NAND 256MiB 3,3V 8-bit":
0x00000000-0x00400000 : "linux kernel(nand)"
0x00400000-0x10000000 : "file system(nand)"

Regards,

-Yi