UBIFS remounted ro during operation or from boot time

Richard Weinberger richard.weinberger at gmail.com
Fri Oct 30 06:14:39 PDT 2015


Thomas,

On Fri, Oct 30, 2015 at 1:47 PM, Thomas Kaufmann
<Thomas.Kaufmann at duagon.com> wrote:
> we are using MTD / UBIFS on beaglebone based embedded device with linux.
> Sometimes there is a problem with the ubifs root partition, where I am not certain about the root cause.
> Details regarding our system:
>
> CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
> CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
> NAND device: Manufacturer ID: 0x2c, Chip ID: 0x38 (Micron MT29F8G08ABABAWP)
>
> Linux kernel version is 3.2.0, compiled with gcc 4.5.3
>
> It happens that the root partition is being remounted read only during operation. Sometimes also from boot up.
> In the dmesg I find this printout:

How does the problem during operation look like? Is it exactly the same?

> [   12.224090] UBIFS: recovery needed
> [   12.800018] UBIFS: recovery completed
> [   12.803894] UBIFS: mounted UBI device 0, volume 0, name "rootfs"
> [   12.810180] UBIFS: file system size:   407715840 bytes (398160 KiB, 388 MiB, 790 LEBs)
> [   12.818420] UBIFS: journal size:       10452992 bytes (10208 KiB, 9 MiB, 21 LEBs)
> [   12.826232] UBIFS: media format:       w4/r0 (latest is w4/r0)
> [   12.832336] UBIFS: default compressor: lzo
> [   12.836578] UBIFS: reserved for root:  0 bytes (0 KiB)
> [   12.844970] VFS: Mounted root (ubifs filesystem) on device 0:13.
>
> [   18.899841] UBIFS error (pid 1800): ubifs_check_node: bad CRC: calculated 0xc6fd2232, read 0xef37a8c0

UBIFS got something unexpected.
It would be interesting what the LEB in question contains.
Does it contain garbage, are just a few bits flipped, is only a page bad?

> [   18.909515] UBIFS error (pid 1800): ubifs_check_node: bad node at LEB 486:200480
> [   18.917205] UBIFS error (pid 1800): ubifs_scanned_corruption: corruption at LEB 486:200480
> <then I think it prints the LEB>
> [   18.932037] UBIFS error (pid 1800): ubifs_scan: LEB 486 scanning failed
> [   18.939056] UBIFS warning (pid 1800): ubifs_ro_mode: switched to read-only mode, error -117
> <more kernel traces>
> [   19.095581] UBIFS error (pid 1800): make_reservation: cannot reserve 83 bytes in jhead 2, error -117
> [   19.105102] UBIFS error (pid 1800): do_writepage: cannot write page 0 of inode 10754, error -117
>
> This is when the issue is present at bootup.
> Sometimes this issue can be resolved by rebooting, but not always.
>
> Is this happening due to a corrupted or defective flash (hardware problem)?

MTD did not report an ECC error nor a bad block -> from MTD's point of
view everything is ok.
It does not prove the that hardware is perfectly fine but at least the
NAND did not turn bad.

> Or is there a known problem in the software versions we are using?

Can be. Maybe a driver issue.
Does your board pass all MTD/UBI tests?

-- 
Thanks,
//richard



More information about the linux-mtd mailing list