linux/drivers/mtd/ubi
Richard Weinberger 781932375f ubi: fastmap: Correctly handle interrupted erasures in EBA
Fastmap cannot track the LEB unmap operation, therefore it can
happen that after an interrupted erasure the mapping still looks
good from Fastmap's point of view, while reading from the PEB will
cause an ECC error and confuses the upper layer.

Instead of teaching users of UBI how to deal with that, we read back
the VID header and check for errors. If the PEB is empty or shows ECC
errors we fixup the mapping and schedule the PEB for erasure.

Fixes: dbb7d2a88d ("UBI: Add fastmap core")
Cc: <stable@vger.kernel.org>
Reported-by: martin bayern <Martinbayern@outlook.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
2018-06-07 15:53:16 +02:00
..
attach.c UBI: introduce the VID buffer concept 2016-10-02 22:48:14 +02:00
block.c ubi: Fix error for write access 2018-04-04 23:48:05 +02:00
build.c ubi: fastmap: Cancel work upon detach 2018-06-07 15:53:16 +02:00
cdev.c UBI: add an helper to check lnum validity 2016-10-02 22:48:14 +02:00
debug.c ubi: Add debugfs file for tracking PEB state 2017-05-08 20:49:02 +02:00
debug.h UBI: power cut emulation for testing 2015-04-13 21:05:17 +02:00
eba.c ubi: fastmap: Correctly handle interrupted erasures in EBA 2018-06-07 15:53:16 +02:00
fastmap-wl.c ubi: fastmap: Don't flush fastmap work on detach 2018-04-04 23:41:44 +02:00
fastmap.c ubi: fastmap: Clean up the initialization of pointer p 2018-01-17 21:48:02 +01:00
gluebi.c mtd: Stop updating erase_info->state and calling mtd_erase_callback() 2018-03-21 09:50:56 +01:00
io.c mtd: Unconditionally update ->fail_addr and ->addr in part_erase() 2018-03-15 18:22:26 +01:00
kapi.c statx: Add a system call to make enhanced file info available 2017-03-02 20:51:15 -05:00
Kconfig UBI: Fix typos 2017-03-24 15:33:32 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
misc.c mtd: ubi: Add logging functions ubi_msg, ubi_warn and ubi_err 2016-03-20 21:36:05 +01:00
ubi-media.h UBI: Fix two typos in comments 2017-09-13 22:05:30 +02:00
ubi.h UBI: Fix typos 2017-03-24 15:33:32 +01:00
upd.c ubi/upd: Always flush after prepared for an update 2017-03-30 09:27:11 +02:00
vmt.c ubi: Fix race condition between ubi volume creation and udev 2018-01-17 21:47:33 +01:00
vtbl.c UBI: introduce the VID buffer concept 2016-10-02 22:48:14 +02:00
wl.c ubi: fastmap: Cancel work upon detach 2018-06-07 15:53:16 +02:00
wl.h ubi: Fastmap: Fix typo 2018-01-18 00:18:50 +01:00