ubifs corrupt

jerry jerrydreaming at gmail.com
Wed May 6 06:29:48 EDT 2009


2009/5/5 Artem Bityutskiy <dedekind at infradead.org>:
> On Tue, 2009-04-28 at 09:51 +0800, jerry wrote:
>> > Do you have this patch?
>> >
>> >        http://git.infradead.org/ubifs-2.6.git?a=commitdiff;h=de0975781a1a8bc92e07eb7681d10ef9bb5e6df9
>> >
>> 1.I have  this patch:
>>      http://git.infradead.org/ubifs-2.6.git?a=commitdiff;h=de0975781a1a8bc92e07eb7681d10ef9bb5e6df9
>> 2.The ubifs is updated to 2.6.28.
>> 3. kernel version is 2.6.24.
>> 4.The information:
>> UBIFS error (pid 434): ubifs_read_node: bad node type (255 but expected 2)
>> UBIFS error (pid 434): ubifs_read_node: bad node at LEB 16:512360
>> Call Trace:
>> [<8002057c>] dump_stack+0x8/0x34
>> [<80187028>] ubifs_read_node+0x3ac/0x404
>> [<801b2aa0>] ubifs_tnc_read_node+0x1c0/0x240
>> [<8018b5b4>] tnc_read_node_nm+0x88/0x28c
>> [<8018cf44>] ubifs_tnc_next_ent+0x1cc/0x300
>> [<8017ef58>] ubifs_readdir+0x210/0x674
>> [<800bf38c>] vfs_readdir+0xd0/0xfc
>> [<800bf424>] sys_getdents64+0x6c/0x100
>> [<800227b0>] stack_done+0x20/0x3c
>> UBIFS error (pid 434): ubifs_readdir: cannot find next direntry, error -22
>> UBIFS error (pid 434): ubifs_read_node: bad node type (255 but expected 2)
>> UBIFS error (pid 434): ubifs_read_node: bad node at LEB 16:512360
>> Call Trace:
>> [<8002057c>] dump_stack+0x8/0x34
>> [<80187028>] ubifs_read_node+0x3ac/0x404
>> [<801b2aa0>] ubifs_tnc_read_node+0x1c0/0x240
>> [<8018b5b4>] tnc_read_node_nm+0x88/0x28c
>> [<8018cf44>] ubifs_tnc_next_ent+0x1cc/0x300
>> [<8017ef58>] ubifs_readdir+0x210/0x674
>> [<800bf38c>] vfs_readdir+0xd0/0xfc
>> [<800bf520>] sys_getdents+0x68/0xfc
>> [<800227b0>] stack_done+0x20/0x3c
>> UBIFS error (pid 434): ubifs_readdir: cannot find next direntry, error -22
>> # dmesg
>> ff ff ff                          ........................
>> Call Trace:
>> [<8002057c>] dump_stack+0x8/0x34
>> [<80187028>] ubifs_read_node+0x3ac/0x404
>> [<801b2aa0>] ubifs_tnc_read_node+0x1c0/0x240
>> [<8018b5b4>] tnc_read_node_nm+0x88/0x28c
>> [<8018e298>] ubifs_tnc_locate+0x1e0/0x22c
>> [<8018e32c>] ubifs_tnc_lookup_nm+0x48/0x2a0
>> [<8017fe90>] ubifs_lookup+0xf0/0x358
>> [<800b71fc>] do_lookup+0x1b0/0x1fc
>> [<800b95ec>] __link_path_walk+0x850/0x19a0
>> [<800ba914>] link_path_walk+0x1d8/0x3ac
>> [<800bb0c8>] do_path_lookup+0x188/0x6dc
>> [<800bc0f4>] __user_walk_fd+0x54/0x88
>> [<800a9fec>] sys_faccessat+0xe0/0x198
>> [<800227b0>] stack_done+0x20/0x3c
>> UBIFS error (pid 368): ubifs_read_node: bad node type (255 but expected 2)
>> UBIFS error (pid 368): ubifs_read_node: bad node at LEB 16:512360
>> Not a node, first 24 bytes:<7>00000000: ff ff ff ff ff ff ff ff ff ff
>> ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>> ........................
>> 5.when I select the UBIFS_FS_DEBUG_CHKS = y,the file system is ok.But
>> it is very slow.
>
> Well, the error is that ubifs tries to read a directory entry,
> but finds empty space there. It might be related to the way you
> join you NAND chips.
>
> Could you try to reproduce this error on a simpler setup? E.g.,
> if you do not have multiple chips joined into one, or on nandsim?
>
> --
> Best regards,
> Artem Bityutskiy (Битюцкий Артём)
>
>
Ok, I will test  one nandflash(K9GAG08U0M).Thank you for your help,I
will report the result as soon as I can.
If the error has happened,ubifs oughts to recover from it.
when I select the UBIFS_FS_DEBUG_CHKS = y,the ubifs file system is
recovered.I think it is recovered only in memory. Why it is not saved
on the nandflash?
Thank you for your help again!

Best regards,
Jerry



More information about the linux-mtd mailing list