charles,
i recently got my 2.6.9 kernel working with yaffs2 and 2k pages on 128MB
samsung mtd device.
when i was testing reliability of yaffs2 i got yaffs2 filesytem to a
strange state.
i have copied some larger (50MB) files on yaffs2 partition.
writing, remounting and rereading was all ok, no data corruption as far
as i know.
but when i tried to remove one of that large files, yaffs2 gc got corrupted.
removal of first file seems to passed, but now i could not remove any
other of remaining files.
i am supposed that it is related to the same problem already discussed
http://www.aleph1.co.uk/pipermail/yaffs/2005q1/000910.html
after remounting of yaffs2 partition i am able to reproduce that problem
easily..
please look at oops dump below for more details.
could you please point me out how have you modified yaffs_guts.c file
mentioned in message above ?
thanx,
rado
# rm /mnt/yaffs/hello.txt
Unable to handle kernel paging request at virtual address 00051d1b
printing eip:
cf8b2bc8
*pde = 00000000
Oops: 0000 [#1]
Modules linked in: yaffs2 nand_ide nand nand_ids nand_ecc
via82cxxx_audio soundc
ore ac97_codec via_rhine mii ide_cd cdrom rtc
CPU: 0
EIP: 0060:[<cf8b2bc8>] Not tainted VLI
EFLAGS: 00010283 (2.6.9-epia2)
EIP is at yaffs_FindObjectByNumber+0x28/0x60 [yaffs2]
eax: cdcc16f4 ebx: c3fcff3f ecx: 00051d1b edx: cdcc17ac
esi: ffffff3f edi: cdcc2000 ebp: 00000000 esp: ce31dbfc
ds: 007b es: 007b ss: 0068
Process rm (pid: 480, threadinfo=ce31c000 task=cea98020)
Stack: ce31dc2c cdcc2000 0000002c cf8b3a3a cdcc2000 c3fcff3f 00000000
ce6ea000
000051b4 00000000 00000001 00000b00 aaaaaaaa 00000001 c3fcff3f
0fa75a99
c3f33c3f ffffffff 00000000 00000000 00000000 330003c3 55555555
0000002c
Call Trace:
[<cf8b3a3a>] yaffs_GarbageCollectBlock+0x23a/0x3c0 [yaffs2]
[<cf8b3c28>] yaffs_CheckGarbageCollection+0x68/0xc0 [yaffs2]
[<cf8b42b8>] yaffs_UpdateObjectHeader+0x48/0x2f0 [yaffs2]
[<c01c5596>] part_read+0xb6/0xc0
[<cf8b7656>] nandmtd2_ReadChunkWithTagsFromNAND+0x86/0xf0 [yaffs2]
[<cf8b5d51>] yaffs_GetObjectName+0x101/0x120 [yaffs2]
[<cf8b2fb9>] yaffs_ChangeObjectName+0x99/0xb0 [yaffs2]
[<cf8b4f6c>] yaffs_UnlinkFile+0x6c/0x80 [yaffs2]
[<cf8b512e>] yaffs_UnlinkWorker+0x8e/0xb0 [yaffs2]
[<cf8b0e54>] yaffs_unlink+0x44/0x70 [yaffs2]
[<c0145809>] vfs_unlink+0x129/0x170
[<c01458e5>] sys_unlink+0x95/0x110
[<c01475bd>] sys_ioctl+0x19d/0x1c0
[<c01475c9>] sys_ioctl+0x1a9/0x1c0
[<c0103697>] syscall_call+0x7/0xb
Code: 5b 5e c3 57 56 53 8b 5c 24 14 89 d8 b9 00 01 00 00 99 f7 f9 6b c2
0c 8b 7c
24 10 01 f8 8b 88 b8 00 00 00 89 d6 8d 90 b8 00 00 00 <8b> 01 8d 74 26
00 39 d1
74 1e 8d 41 f4 39 58 30 74 18 8b 09 8b
Segmentation fault