mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-04 18:26:41 +07:00
e8823bd63d
When the UBI device is nearly full, i.e. all LEBs are mapped, we have only one spare LEB left - the one we reserved for WL purposes. Well, I do not count the LEBs which were reserved for bad PEB handling - suppose NOR flash for simplicity. If an "atomic LEB change operation" is run, and the WL unit is moving a LEB, we have no spare LEBs to finish the operation and fail, which is not good. Moreover, if there are 2 or more simultanious "atomic LEB change" requests, only one of them has chances to succeed, the other will fail with -ENOSPC. Not good either. This patch does 2 things: 1. Reserves one PEB for the "atomic LEB change" operation. 2. Serealize the operations so that only on of them may run at a time (by means of a mutex). Pointed-to-by: Brijesh Singh <brijesh.s.singh@gmail.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> |
||
---|---|---|
.. | ||
build.c | ||
cdev.c | ||
debug.c | ||
debug.h | ||
eba.c | ||
gluebi.c | ||
io.c | ||
kapi.c | ||
Kconfig | ||
Kconfig.debug | ||
Makefile | ||
misc.c | ||
scan.c | ||
scan.h | ||
ubi.h | ||
upd.c | ||
vmt.c | ||
vtbl.c | ||
wl.c |