Birger Bauch

UBIFS: recovery needed

Discussion created by Birger Bauch on Mar 29, 2012
Latest reply on Aug 2, 2020 by 智学 王



normaly the ubifs recovery prozess will be startet automaticly on mount, if nesessary.

mount -o sync -t ubifs ubi0:data /mnt/data

UBIFS: recovery needed
UBIFS: recovery completed
UBIFS: mounted UBI device 0, volume 2, name "data"
UBIFS: file system size:   33013760 bytes (32240 KiB, 31 MiB, 260 LEBs)
UBIFS: journal size:       1650688 bytes (1612 KiB, 1 MiB, 13 LEBs)
UBIFS: media format:       w4/r0 (latest is w4/r0)
UBIFS: default compressor: lzo
UBIFS: reserved for root:  1559321 bytes (1522 KiB)

Here everything works fine. But sometimes the recovery prozess failes:

mount -o sync -t ubifs ubi0:firmware /mnt/firmware

UBIFS: recovery needed
UBI error: ubi_io_read: error -74 while reading 34816 bytes from PEB 467:96256,
read 34816 bytes
UBIFS error (pid 772): ubifs_recover_leb: corrupt empty space LEB 253:114688, co
rruption starts at 811
UBIFS error (pid 772): ubifs_scanned_corruption: corruption at LEB 253:811
UBIFS error (pid 772): ubifs_recover_leb: LEB 253 scanning failed
mount: mounting ubi0:firmware on /mnt/firmware failed: Structure needs cleaning


I suppose that is similar to following mailing list entry:

According to the ubifs documentation, chapter "Power-cuts tolerance", the problem were seen on NOR flash with kernel version 2.6.27 and should be solved in later versions.


Any idea, how can we solve this problem?


Kind regards,




p.s. We got these error also on the rootfs ubifs partition, which will be mounted by the kernel via kernel command line.



CONFIG_PKG_BOOT_STREAM_CMDLINE1="noinitrd console=ttyAM0,115200 ubi.mtd=1 root=ubi0:rootfs0 rootfstype=ubifs rw gpmi"


mxs-rtc mxs-rtc.0: setting system clock to 1970-01-17 07:02:25 UTC (1407745)
UBIFS: recovery needed
UBI error: ubi_io_read: error -74 while reading 73728 bytes from PEB 108:57344, read 73728 bytes
UBIFS error (pid 1): ubifs_recover_leb: corrupt empty space LEB 326:53248, corruption starts at 3653
UBIFS error (pid 1): ubifs_scanned_corruption: corruption at LEB 326:3653
UBIFS error (pid 1): ubifs_recover_leb: LEB 326 scanning failed
VFS: Cannot open root device "ubi0:rootfs0" or unknown-block(0,0)
Please append a correct "root=" boot option; here are the available partitions:
1f00           10240 mtdblock0 (driver?)
1f01          120832 mtdblock1 (driver?)
fe00           41044 ubiblka (driver?)
fe08           41044 ubiblkb (driver?)
fe10           32860 ubiblkc (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[<c0031260>] (dump_backtrace+0x0/0x114) from [<c02eb078>] (dump_stack+0x18/0x1c)
 r7:c0028a24 r6:00008000 r5:c7c15000 r4:c0402818