UBIFS Panic

Richard Weinberger richard at nod.at
Wed Jul 16 14:00:48 PDT 2014


Akshay,

Am 16.07.2014 19:31, schrieb Akshay Bhat:
> 
>>>
>>> Hi Richard, wanted to check if you got a chance to dig into this? Thanks.
> 
>> Can you please rerun with the attached patch applied?
>> Maybe it can give use a hint. :)
> 
> I ran the tests with the patch, below is the dmesg log (note: the first kernel panic resulted in the log running over since I wasn't around, so I had to reboot and re-run the test to capture a new panic).

Thanks a lot for the log!

> # dmesg
> [ 1571.338966] UBI error: refill_wl_pool: didn't get all pebs I wanted!
> [ 1571.367128] UBI error: refill_wl_pool: didn't get all pebs I wanted!
> [ 1571.367159] UBI error: ubi_wl_get_peb: User WL pool is empty!

This is interesting.
Looks like a race in ubi_wl_get_peb(), two threads enter the function and the pool needs refilling.
While T1 triggers a ubi_refill_pools(), T2 goes immediately to " if (!pool->size) {" this triggers
as T1 resets pool->size to 0 while refilling.

Please test the updated debug patch.

Can you also please share your test script with me?
So far none of my boards run into that issue. :(

Thanks,
//richard
-------------- next part --------------
A non-text attachment was scrubbed...
Name: debug.diff
Type: text/x-patch
Size: 1788 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-mtd/attachments/20140716/f70eb254/attachment.bin>


More information about the linux-mtd mailing list