[U-Boot] Porting UBI fixes (specially fastmap's) to U-Boot

Richard Weinberger richard at nod.at
Tue Oct 20 09:16:10 CEST 2015


Am 20.10.2015 um 06:00 schrieb Heiko Schocher:
> Hello Richard
> 
> Am 19.10.2015 um 23:48 schrieb Richard Weinberger:
>> Am 19.10.2015 um 23:40 schrieb Ezequiel Garcia:
>>> On 19 October 2015 at 17:22, Richard Weinberger <richard at nod.at> wrote:
>>>> Am 19.10.2015 um 15:47 schrieb Ezequiel Garcia:
>>>>> After some further investigation, printing the counters as Richard suggested
>>>>> I found it was a bug on my side :-( The Linux partition and the U-Boot partition
>>>>> had different size (i.e. PEB count) and so Fastmap complained :-(
>>>>>
>>>>> We trimmed the Linux partition size, and forgot to change U-Boot's
>>>>> (or thought it wouldn't matter).
>>>>>
>>>>> Sorry for the noise guys!
>>>>
>>>> Good to know. :)
>>>>
>>>> Let me find a way to detect and report this kind of user error
>>>> better.
>>>> The WARN_ON() is only meant for bad internal errors.
>>>>
>>>
>>> Sure. In case it's not clear, let me clarify what the issue was: the
>>> MTD partition
>>> has one size in Linux (4072 EB) and another size in U-Boot (4076 EB).
>>>
>>> When the map was built by Linux's Fastmap, it contained a number of PEBs that
>>> conflicted with the number of PEBs U-Boot's Fastmap code was expecting
>>> (becase Linux EB != U-Boot EB).
>>>
>>> Not sure how you would detect such a mismatch, but it was a very good
>>> idea to print a noisy warning :-)
>>
>> I think it would make sense to drop the WARN_ON() and replace it to a
>> warning using ubi_err() which explains what possible went wrong.
>> i.e. MTD partition layout mismatch, an internal error, etc...
> 
> Yep.
> 
>>> We were effectively running without fastmap so far, becasue neither U-Boot
>>> nor Linux could find a proper fastmap and attach the UBI partition using it.
>>
>> Yeah, U-Boot's fast decided to fall back to scanning mode and had to drop the
>> existing fastmap and therefore Linux also had to do a full scan too.
> 
> Didn;t got this, why is fastmap not working in U-Boot?

No, the above explanation is why fastmap was used in Ezequiel's setup.

Thanks,
//richard


More information about the U-Boot mailing list