UBIFS - ubifs_get_pnode.part.4: error -22 reading pnode

Richard Weinberger richard.weinberger at gmail.com
Tue Apr 3 05:04:16 PDT 2018


On Tue, Apr 3, 2018 at 10:28 AM, Erdrich, Frank
<Frank.Erdrich at emtrion.de> wrote:
> Hello,
> we are encountering an error on UBIFS that prevents mounting of a partition. Maybe one of you can tell me the directly the reason for that or can help me hunting this error down.

UBIFS got confused wrt. free space accounting.
Can you tell me more on your setup? Do you use Fastmap? fscrypt? xattr?

> I'm not deep enough in the ubifs system to completely understand what is happening here but for me it seems that there are more dirty data to write than the size of the LEB.
> -> 3: free 507904 dirty 524128 flags 34 lnum 0
> I've seen that the values are checked in validate_pnode() where the -EINVAL (-22) comes from. The question is, how can dirty data bigger that the LEB size?

Yes, this can happen. That's why UBIFS does in some cases a fixup of
the used/free numbers.
These numbers are not always updated immediately and when a power-cut
happens their state might be inconsistent.


More information about the linux-mtd mailing list