corrupted ubi after reboot while busy

Artem Bityutskiy dedekind at infradead.org
Thu Mar 27 09:39:38 EDT 2008


Hi,

On Thu, 2008-03-27 at 18:05 +1100, Hamish Moffatt wrote:
> I'm trying UBI for the first time; I have the kernel 2.6.24 with UBI
> backported from 2.6.25-rc7.
> 
> I created a static volume (on NAND) and wrote a JFFS2 image to it with 
> ubiupdatevol. mount succeeded, but the image was built wrongly so the
> jffs2 garbage collector thread to fix it.
Strange, the volume should be read-only, what could the GC thread do to
it?

>  I then rebooted the system
> while this was running (using a proper reboot, which succeeded).
> 
> After rebooting, I can't attach the UBI volume at all:
> 
> Jan  1 00:16:34 elaraboot user.err kernel: [  994.310000] UBI error: validate_vid_hdr: inconsistent VID header at PEB 664                         
> Jan  1 00:16:34 elaraboot user.err kernel: [  994.320000] UBI error: cannot attach mtd7                                                           
> Jan  1 00:16:34 elaraboot user.err kernel: [  994.320000] UBI error: cannot initialize UBI, error -22 

Could you please enable UBI debugging (just UBI debugging, not any of
debugging messages), and try to attach the MTD device again? Then send
me the UBI output which you may take with dmesg?

> I don't understand how a corrupt volume can cause the whole UBI to be
> unusable?

In this case UBI finds that the VID header contains some "insane" data,
it's not just corruption which would be detected by CRC checking (which
is OK in your case). This is why UBI refuses to keep going. This might
me a bug though, the debugging should help.

> As an aside, is a static volume not read-only?
It should be, but I never tried.

-- 
Best regards,
Artem Bityutskiy (Битюцкий Артём)




More information about the linux-mtd mailing list