[Yaffs] kernal start successfully only once when using yaffs…

Top Page
Attachments:
Message as email
+ (text/plain)
+ (text/html)
Delete this message
Reply to this message
Author: tang cai
Date:  
To: yaffs
Subject: [Yaffs] kernal start successfully only once when using yaffs as root
Dear all,

I am using at91sam9261 board and linux 2.6.15. I use yaffs as the root file
system. After linux starts successfully once, when I try to start the system
again , it keeps crashing. Before this, I use ramdisk as root file system
and everything is fine. The yaffs root file system is copied into nand flash
after linux starts using ramdisk as root file system, and the contents are
the same with the ones in ramdisk. I don't know why this happens. Can you
give me some help. I am eager to solve this problem. Thanks a lot.

I have figured out the bug is at fs/inode.c:252!
       if (inode->i_data.nrpages)
             BUG();
 Below is the crashing information during start up:


kernel BUG at fs/inode.c:252!
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c3874000
[00000000] *pgd=23fad031, *pte=00000000, *ppte=00000000
Internal error: Oops: 817 [#1]
Modules linked in:
CPU: 0
PC is at __bug+0x40/0x54
LR is at 0x1
pc : [<c002788c>]    lr : [<00000001>]    Not tainted
sp : c38cbe4c  ip : 60000093  fp : c38cbe5c
r10: c0387000  r9 : 00000000  r8 : c385baa8
r7 : c385baa8  r6 : c0021624  r5 : c3dc2580  r4 : 00000000
r3 : 00000000  r2 : 00000000  r1 : 0000161a  r0 : 00000001
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  Segment user
Control: 5317F  Table: 23874000  DAC: 00000015
Process ldconfig (pid: 843, stack limit = 0xc38ca194)
Stack: (0xc38cbe4c to 0xc38cc000)
be40:                            c0021624 c38cbe70 c38cbe60 c008c758
c002785c
be60: c3cd5000 c38cbe8c c38cbe74 c00f4914 c008c708 c0021624 c00f48a4
c3857778
be80: c38cbea4 c38cbe90 c008d83c c00f48b4 c0021624 c385bbb8 c38cbec0
c38cbea8
bea0: c008d8d0 c008d7bc c0021624 c385bbb8 c3857778 c38cbed4 c38cbec4
c008c9c8
bec0: c008d8c0 c385bbb8 c38cbeec c38cbed8 c008a9b8 c008c94c 00000000
c385bbb8
bee0: c38cbfa4 c38cbef0 c0084338 c008a810 c3cd3000 c385baa8 c0374320
e2a6dd9b
bf00: 0000000b c3cd3009 00000010 00000000 00000000 c3c981a4 c38cbf3c
c38cbf28
bf20: c008f124 c01188d4 0000000e 00000000 0000000e 00000000 c385baa8
c0374320
bf40: bd2bdc96 0000000c c0387009 00000010 00000000 00000000 00000001
00000001
bf60: 00000000 c38cbf70 c00720e0 c00739ac c3c96ac8 00000003 c3c96ac0
4012f2bc
bf80: 000193e8 00000003 00000026 c0022e84 c38ca000 00018540 00000000
c38cbfa8
bfa0: c0022d00 c00841dc 4012f2bc 000193e8 000193e8 bea59dfc 00000345
00000001
bfc0: 4012f2bc 000193e8 00000003 bea59d9c 00018d68 00018b35 00018540
bea59df0
bfe0: 400742f0 bea59d9c 0000c204 400742f4 60000010 000193e8 00000000
00000000
Backtrace:
[<c002784c>] (__bug+0x0/0x54) from [<c008c758>] (clear_inode+0x60/0xd4)
 r4 = C0021624
[<c008c6f8>] (clear_inode+0x0/0xd4) from [<c00f4914>]
(yaffs_delete_inode+0x70/0x84)
 r4 = C3CD5000
[<c00f48a4>] (yaffs_delete_inode+0x0/0x84) from [<c008d83c>]
(generic_delete_inode+0x90/0x104)
 r6 = C3857778  r5 = C00F48A4  r4 = C0021624
[<c008d7ac>] (generic_delete_inode+0x0/0x104) from [<c008d8d0>]
(generic_drop_inode+0x20/0x174)
 r5 = C385BBB8  r4 = C0021624
[<c008d8b0>] (generic_drop_inode+0x0/0x174) from [<c008c9c8>]
(iput+0x8c/0xa0)
 r6 = C3857778  r5 = C385BBB8  r4 = C0021624
[<c008c93c>] (iput+0x0/0xa0) from [<c008a9b8>] (dput+0x1b8/0x1e8)
 r4 = C385BBB8
[<c008a800>] (dput+0x0/0x1e8) from [<c0084338>] (sys_rename+0x16c/0x1c4)
 r5 = C385BBB8  r4 = 00000000
[<c00841cc>] (sys_rename+0x0/0x1c4) from [<c0022d00>]
(ret_fast_syscall+0x0/0x2c)
Code: 1b00426b e59f0014 eb004269 e3a03000 (e5833000)