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

Heiko Schocher hs at denx.de
Tue Oct 20 06:00:29 CEST 2015


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?
On the aristainetos2 board, I use fastmap, see:
http://xeidos.ddns.net/buildbot/builders/ari_ubi/builds/7/steps/shell/logs/tbotlog
search for "attached by fastmap" ...

nand 1024MiB:
05:02:32,905:INFO   :tbotlib   # write 1: ubi part ubi 4096
[...]
05:02:34,289:INFO   :tbotlib   # read 1: ubi0: attached by fastmap
[...]
05:02:34,529:INFO   :tbotlib   # read 1: ubi0: available PEBs: 3877, total reserved PEBs: 207, PEBs 
reserved for bad PEB handling: 68

1024MiB ubi artition attached in 0.624 s ...

SPI Nor flash:
05:03:14,380:INFO   :tbotlib   # write 1: ubi part rescue-system 64
[...]
05:03:16,010:INFO   :tbotlib   # read 1: ubi0: attached by fastmap
[...]
05:03:16,215:INFO   :tbotlib   # read 1: ubi0: available PEBs: 10, total reserved PEBs: 231, PEBs 
reserved for bad PEB handling: 0

15MiB Nor UBI partition in ~2 s ...

bye,
Heiko
-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list