[Yaffs] yaffs+nandsim question

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: HyoGi Sim
Date:  
To: yaffs
Subject: [Yaffs] yaffs+nandsim question
Hi all,

I'm testing yaffs2 with nandsim, which is included in kernel mtd.
I'm using linux-2.6.24(-gentoo-r3), and I'm downloaded yaffs2 via cvs
(20080509).

My trying was:

# modprobe yaffs
# load_nandsim.sh 1024 128 2048    // 1GB NAND flash memory (2K-page)


# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 40000000 00020000 "NAND simulator partition 0"



# mount -t yaffs /dev/mtdblock0 /mnt/yaffs    // successful
<6>[  440.315262] yaffs: dev is 32505856 name is "mtdblock0"
<6>[  440.315269] yaffs: passed flags ""
<4>[  440.315273] yaffs: Attempting MTD mount on 31.0, "mtdblock0"
<4>[  440.315277] yaffs: auto selecting yaffs2



# cd /mnt/yaffs
# bonnie    // Filesystem benchmark program.., which was NOT successful
File './Bonnie.5813', size: 536870912
Writing with putc()...


And YaFFS hangs with following kernel error message.

<0>[  489.087953] ------------[ cut here ]------------
<2>[  489.087958] kernel BUG at fs/yaffs2/yaffs_mtdif2.c:63!
<0>[  489.087960] invalid opcode: 0000 [#1] SMP
<4>[  489.087963] Modules linked in: mtdblock mtd_blkdevs mtdchar yaffs
nandsim nand nand_ids nand_ecc mtd vboxdrv 3c59x i2c_nforce2 snd_pcm_oss
snd_mixer_oss snd_hda_intel snd_pcm snd_timer snd snd_page_alloc joydev
usbhid hid ftdi_sio usbserial nvidia(P) nvidiafb fb_ddc i2c_algo_bit
vgastate i2c_core ohci1394 ohci_hcd ehci_hcd usbcore
<4>[  489.087982]
<4>[  489.087985] Pid: 5813, comm: bonnie Tainted: P
(2.6.24-gentoo-r3 #5)
<4>[  489.087987] EIP: 0060:[<e177835a>] EFLAGS: 00210246 CPU: 0
<4>[  489.087995] EIP is at nandmtd2_WriteChunkWithTagsToNAND+0xea/0x100
[yaffs]
<4>[  489.087997] EAX: d16e2400 EBX: 00000000 ECX: 00000000 EDX:
00000001
<4>[  489.087999] ESI: d1781000 EDI: d2c13c70 EBP: 00000800 ESP:
d2c13b90
<4>[  489.088001]  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
<0>[  489.088003] Process bonnie (pid: 5813, ti=d2c12000 task=d19d4a80
task.ti=d2c12000)
<0>[  489.088005] Stack: 00000000 d16e2400 e1405c9a d2c13be8 40000000
00000000 00000001 d16e2400
<0>[  489.088010]        df6b5800 00000800 d1781000 e177016b 00000000
e177834a d2c13be8 c016f3e5
<0>[  489.088015]        00000000 00000001 00000000 d2c13cb8 00000000
d16e2400 ffffffff d2c13c70
<0>[  489.088020] Call Trace:
<0>[  489.088022]  [<e1405c9a>] part_write_oob+0x7a/0xc0 [mtd]
<0>[  489.088028]  [<e177016b>] yaffs_CheckGarbageCollection+0x2b/0xab0
[yaffs]
<0>[  489.088035]  [<e177834a>] nandmtd2_WriteChunkWithTagsToNAND
+0xda/0x100 [yaffs]
<0>[  489.088042]  [<c016f3e5>] __link_path_walk+0x945/0xc10
<0>[  489.088048]  [<e1778270>] nandmtd2_WriteChunkWithTagsToNAND
+0x0/0x100 [yaffs]
<0>[  489.088054]  [<e1776247>] yaffs_WriteChunkWithTagsToNAND
+0x67/0x120 [yaffs]
<0>[  489.088062]  [<e176fa66>] yaffs_WriteNewChunkWithTagsToNAND
+0x326/0x5c0 [yaffs]
<0>[  489.088070]  [<e1776247>] yaffs_WriteChunkWithTagsToNAND
+0x67/0x120 [yaffs]
<0>[  489.088077]  [<e1771051>] yaffs_WriteChunkDataToObject+0x91/0xf0
[yaffs]
<0>[  489.088089]  [<e1773aca>] yaffs_WriteDataToFile+0x1da/0x330
[yaffs]
<0>[  489.088098]  [<e176b955>] yaffs_commit_write+0xb5/0x280 [yaffs]
<0>[  489.088105]  [<e176b8a0>] yaffs_commit_write+0x0/0x280 [yaffs]
<0>[  489.088111]  [<c0145d86>] generic_file_buffered_write+0x3f6/0x630
<0>[  489.088116]  [<c011579b>] __wake_up_common+0x4b/0x80
<0>[  489.088122]  [<c01219b3>] current_fs_time+0x13/0x20
<0>[  489.088125]  [<c014622b>] __generic_file_aio_write_nolock
+0x26b/0x530
<0>[  489.088130]  [<e176ecd5>] yaffs_GetObjectFileLength+0x5/0x30
[yaffs]
<0>[  489.088137]  [<c01790d4>] iget_locked+0x74/0x140
<0>[  489.088141]  [<c0146546>] generic_file_aio_write+0x56/0xd0
<0>[  489.088146]  [<c0166097>] do_sync_write+0xc7/0x110
<0>[  489.088152]  [<c012fab0>] autoremove_wake_function+0x0/0x50
<0>[  489.088155]  [<c0152e87>] handle_mm_fault+0x2b7/0x5c0
<0>[  489.088159]  [<c0266100>] copy_to_user+0x30/0x60
<0>[  489.088164]  [<c0166916>] vfs_write+0xa6/0x140
<0>[  489.088167]  [<c0165fd0>] do_sync_write+0x0/0x110
<0>[  489.088170]  [<c0166fe1>] sys_write+0x41/0x70
<0>[  489.088174]  [<c0102b8e>] sysenter_past_esp+0x5f/0x85
<0>[  489.088178]  [<c03b0000>] rpc_info_open+0x40/0x90
<0>[  489.088182]  =======================
<0>[  489.088183] Code: 8b 74 24 14 89 44 24 10 f7 e5 0f af f5 8d 2c 16
89 c2 8b 44 24 1c 89 e9 ff 50 48 85 c0 0f 94 c0 83 c4 5c 5b 0f b6 c0 5e
5f 5d c3 <0f> 0b eb fe 66 90 8d 44 24 40 89 fa e8 35 dc ff ff e9 6d ff
ff
<0>[  489.088210] EIP: [<e177835a>] nandmtd2_WriteChunkWithTagsToNAND
+0xea/0x100 [yaffs] SS:ESP 0068:d2c13b90
<4>[  489.088230] ---[ end trace bbd794fad52da67a ]---





What should I do now?