UBIFS: recovery of master node

Richard Weinberger richard at nod.at
Fri Jul 17 04:43:38 PDT 2015


Am 17.07.2015 um 13:38 schrieb Artem Bityutskiy:
> On Fri, 2015-07-17 at 09:24 +0200, Richard Weinberger wrote:
>> Am 17.07.2015 um 08:58 schrieb Andrea Scian:
>>> Il 16/07/2015 17:29, Richard Weinberger ha scritto:
>>>> Andrea,
>>>>
>>>> On Thu, Jul 16, 2015 at 3:22 PM, Andrea Scian <rnd4 at dave-tech.it> 
>>>> wrote:
>>>>>
>>>>> If I bypass that check too, I can mount UBIFS and everything 
>>>>> inside the FS
>>>>> is there but, of course, I'm sure I'm doing something that may 
>>>>> be wrong..
>>>>>
>>>>> WDYT?
>>>>
>>>> So, you're facing bitflips on empty space?
>>>
>>> Another UBI/UBIFS "implementation" question: are there some other 
>>> places, apart from get_master_node(), where UBIFS check empty space 
>>> corruption and fails badly if something wrong?
>>
>> Having non-corrupted empty space is a fundamental requirement of 
>> UBIFS.
> 
> I am not sure it is that fundamental. What UBIFS needs is to
> distinguish between used and usused flash areas. It does this by
> comparing agains 0xFFs. Simple, worked fine in the past.

Okay. This good to know. I thought it is much more fundamental. :-)

> If the space is empty, UBIFS assumes it can write to it. UBIFS is being
> paranoid and also verifies that entire empty space contains all 0xFFs.
> Also very simple, worked fine in the past.
> 
> Now if you have "corrupted empty space" (i.e., you cannot write to it),
> this does not have to be the end of the world, you can clean it up by
> doing the "atomic LEB change" operation. It is just not implemented,
> but it could be done - matter of engineer-hours spent.

Thanks for pointing this out, Artem!

Thanks,
//richard



More information about the linux-mtd mailing list