android_kernel_xiaomi_sm8350/drivers/mtd
Artem Bityutskiy 6b5c94c6b4 UBI: handle more error codes
The UBIFS WL worker may encounter read errors and there is logic
which makes a decision whether we should do one of:

1. cancel the operation and move the PEB with the read errors to
   the 'erroneous' list;
2. switch to R/O mode.

ATM, only -EIO errors trigger 1., other errors trigger 2. The idea
is that if we know we encountered an I/O error, do 1. Otherwise,
we do not know how to react, and do 2., just in case. E.g., if
the underlying driver became crazy because of a bug, we do not
want to harm any data, and switch to R/O mode.

This patch does 2 things:
1. Makes sure reads from the source PEB always cause 1. This is
   more consistent with other reads which come from the upper
   layers and never cause R/O.
2. Teaches UBI to do 1. also on -EBADMSG, UBI_IO_BAD_VID_HDR,
   -ENOMEM, and -ETIMEOUT. But this is only when reading the
   target PEB.

This preblems were hunted by Adrian Hunter.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
2009-06-10 16:13:28 +03:00
..
chips [MTD] [NOR] Fixup for Numonyx M29W128 chips 2009-04-06 07:23:26 -07:00
devices mtd: fix timeout in M25P80 driver 2009-05-08 13:51:53 +01:00
lpddr
maps Merge git://git.infradead.org/mtd-2.6 2009-04-06 14:56:26 -07:00
nand cafe_nand: Fix warning 2009-04-24 07:52:08 -07:00
onenand Merge git://git.infradead.org/mtd-2.6 2009-04-06 14:56:26 -07:00
tests trivial: NULL noise: drivers/mtd/tests/mtd_*test.c 2009-03-30 15:22:04 +02:00
ubi UBI: handle more error codes 2009-06-10 16:13:28 +03:00
afs.c
ar7part.c
cmdlinepart.c
ftl.c
inftlcore.c
inftlmount.c
internal.h
Kconfig
Makefile
mtd_blkdevs.c [MTD] driver model updates 2009-04-04 14:29:07 +01:00
mtdbdi.c
mtdblock_ro.c
mtdblock.c
mtdchar.c [MTD] driver model updates 2009-04-04 14:29:07 +01:00
mtdconcat.c
mtdcore.c mtd: expose subpage size via sysfs 2009-04-19 09:12:49 +01:00
mtdcore.h
mtdoops.c
mtdpart.c [MTD] mtdpart: Make ecc_stats more realistic. 2009-04-06 07:22:28 -07:00
mtdsuper.c Convert obvious places to deactivate_locked_super() 2009-05-09 10:49:40 -04:00
nftlcore.c
nftlmount.c
ofpart.c
redboot.c
rfd_ftl.c
ssfdc.c