UBIFS recovery fails

Daniel Kuhn cheeef at swissonline.ch
Mon Oct 17 09:29:16 EDT 2011


Hi,

I have a problem with a device which uses UBI + UBIFS on a 32GB NAND 
Flash (16*2GB). The
filesystem worked without problems for a couple of months but now I get 
an error if I try to mount the volume.
Attaching the UBI-Device works fine as you can see in the following 
messages:

===============

UBI: max. sequence number:       18803
UBI: attached mtd3 to ubi2
UBI: MTD device name:            "LogData"
UBI: MTD device size:            32544 MiB
UBI: number of good PEBs:        130119
UBI: number of bad PEBs:         57
UBI: number of corrupted PEBs:   0
UBI: max. allowed volumes:       128
UBI: wear-leveling threshold:    4096
UBI: number of internal volumes: 1
UBI: number of user volumes:     1
UBI: available PEBs:             0
UBI: total number of reserved PEBs: 130119
UBI: number of PEBs reserved for bad PEB handling: 1301
UBI: max/mean erase counter: 30/0
UBI: image sequence number:  1813038814
UBI: background thread "ubi_bgt2d" started, PID 1376

===============


UBIFS prints the following error messages during mount (with dmesg -n8, 
UBIFS debugging enabled):

===============

UBIFS: recovery needed
UBIFS error (pid 611): ubifs_recover_leb: corrupt empty space LEB 
3550:188416, c
orruption starts at 64362
UBIFS error (pid 611): ubifs_scanned_corruption: corruption at LEB 
3550:252778
UBIFS error (pid 611): ubifs_scanned_corruption: first 1174 bytes from 
LEB 3550:
252778
00000000: ffffffbf ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
00000020: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
00000040: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
00000060: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
00000080: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
000000a0: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
000000c0: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
000000e0: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
00000100: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
00000120: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
00000140: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
00000160: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
00000180: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
000001a0: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
000001c0: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
000001e0: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
00000200: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
00000220: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
00000240: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
00000260: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
00000280: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
000002a0: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
000002c0: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
000002e0: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
00000300: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
00000320: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
00000340: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
00000360: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
00000380: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
000003a0: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
000003c0: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
000003e0: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
00000400: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
00000420: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
00000440: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
00000460: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
fffffff
f  ................................
00000480: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
                            ......................
UBIFS error (pid 611): ubifs_recover_leb: LEB 3550 scanning failed

===============


The Kernel (2.6.38-rc8) runs on an ARM926 CPU (OMAPL138 from TI). I've 
taken the latest UBI + UBIFS sources from the GIT-Repository 
"|git://git.infradead.org/~dedekind/ubifs-v2.6.38.git|" which eliminated 
a segmentation fault I had before updating.

"mtdinfo -a" prints the following information for the broken device mtd3:

===============

mtd3
Name:                           LogData
Type:                           nand
Eraseblock size:                262144 bytes, 256.0 KiB
Amount of eraseblocks:          130176 (34124857344 bytes, 31.8 GiB)
Minimum input/output unit size: 4096 bytes
Sub-page size:                  1024 bytes
OOB size:                       128 bytes
Character device major/minor:   90:6
Bad blocks are allowed:         true
Device is writable:             true

===============


Is there a way to recover the data on the device?

Thanks in advance,
Daniel Kuhn








More information about the linux-mtd mailing list