Hi,
I notice a bug report with proposed fixes on Bugzilla [1]. Quoting from it
(only the first problem that is quoted):
Problem 1: large erase counter for single fastmap data PEB
Config:
x86_64 qemu
flash: nandsim
CONFIG_MTD_UBI_WL_THRESHOLD=128
CONFIG_MTD_UBI_FASTMAP=y
ubi->beb_rsvd_pebs=0
Running fsstress on ubifs for 3h(fastmap data PEB has large erase counter than others):
=========================================================
from to count min avg max
---------------------------------------------------------
0 .. 9: 0 0 0 0
10 .. 99: 532 84 92 99
100 .. 999: 15787 100 147 229
1000 .. 9999: 64 4699 4765 4826
10000 .. 99999: 0 0 0 0
100000 .. inf: 1 272935 272935 272935
---------------------------------------------------------
Total : 16384 84 180 272935
PEB 8031(ec=272935) is always taken for fastmap data.
After fix, running fsstress on ubifs for 12h(no pool reservation), no individual peb has big erase counter:
=========================================================
from to count min avg max
---------------------------------------------------------
0 .. 9: 0 0 0 0
10 .. 99: 0 0 0 0
100 .. 999: 16320 609 642 705
1000 .. 9999: 0 0 0 0
10000 .. 99999: 64 18176 18234 18303
100000 .. inf: 0 0 0 0
---------------------------------------------------------
Total : 16384 609 710 18303
See Bugzilla for the full thread (with other problems mentioned) and
attached patch series that fixes them.
Zhihao: I asked you on BZ to send your patches to linux-mtd list,
but you didn't respond there. Would you like to send them for
review?
Thanks.
[1]: https://bugzilla.kernel.org/show_bug.cgi?id=217787