linux/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 [MTD] [LPDDR] qinfo_probe depends on lpddr 2009-01-11 10:42:32 +00:00
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 [MTD] mtdpart: Make all partition parsers return allocated array 2009-03-20 18:55:17 +00:00
cmdlinepart.c [MTD] mtdpart: Make all partition parsers return allocated array 2009-03-20 18:55:17 +00:00
ftl.c [MTD] Remove strange u_int32_t types from FTL 2008-12-10 14:06:42 +00:00
inftlcore.c [MTD] update internal API to support 64-bit device size 2008-12-10 13:37:21 +00:00
inftlmount.c [MTD] we don't need no misc devices 2009-03-20 13:16:26 +00:00
internal.h NOMMU: Present backing device capabilities for MTD chardevs 2009-03-24 09:00:19 +00:00
Kconfig Merge branch 'master' of git://git.infradead.org/users/dedekind/mtd-tests-2.6 2009-01-05 16:24:55 +00:00
Makefile NOMMU: Present backing device capabilities for MTD chardevs 2009-03-24 09:00:19 +00:00
mtd_blkdevs.c [MTD] driver model updates 2009-04-04 14:29:07 +01:00
mtdbdi.c NOMMU: Present backing device capabilities for MTD chardevs 2009-03-24 09:00:19 +00:00
mtdblock_ro.c
mtdblock.c
mtdchar.c [MTD] driver model updates 2009-04-04 14:29:07 +01:00
mtdconcat.c NOMMU: Add support for direct mapping through mtdconcat if possible 2009-03-24 09:01:08 +00:00
mtdcore.c mtd: expose subpage size via sysfs 2009-04-19 09:12:49 +01:00
mtdcore.h
mtdoops.c [MTD] mtdoops: fix a bit of spin lock usage 2009-03-20 18:39:25 +00:00
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 [MTD] Auto-load nftl module when device opened. 2009-03-20 18:34:00 +00:00
nftlmount.c [MTD] update internal API to support 64-bit device size 2008-12-10 13:37:21 +00:00
ofpart.c [MTD] ofpart: Check name property to determine partition nodes. 2009-03-24 14:04:20 +00:00
redboot.c
rfd_ftl.c [MTD] remove private wrapper of endian helpers in rfd_ftl.c 2008-12-10 15:39:09 +00:00
ssfdc.c [MTD] update internal API to support 64-bit device size 2008-12-10 13:37:21 +00:00