android_kernel_xiaomi_sm8350/drivers/md
NeilBrown 0eb3ff12aa [PATCH] md: raid10 read-error handling - resync and read-only
Add in correct read-error handling for resync and read-only situations.

When read-only, we don't over-write, so we need to mark the failed drive in
the r10_bio so we don't re-try it.  During resync, we always read all blocks,
so if there is a read error, we simply over-write it with the good block that
we found (assuming we found one).

Note that the recovery case still isn't handled in an interesting way.  There
is nothing useful to do for the 2-copies case.  If there are 3 or more copies,
then we could try reading from one of the non-missing copies, but this is a
bit complicated and very rarely would be used, so I'm leaving it for now.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-06 08:34:05 -08:00
..
raid6test [PATCH] RAID6 Altivec fix 2005-09-17 11:49:58 -07:00
.gitignore gitignore: misc files 2006-01-01 22:21:50 +01:00
bitmap.c [PATCH] md: move bitmap_create to after md array has been initialised 2006-01-06 08:34:03 -08:00
dm-bio-list.h [PATCH] device-mapper snapshot: bio_list fix 2005-11-22 09:14:31 -08:00
dm-bio-record.h
dm-crypt.c [PATCH] dm-crypt: zero key before freeing it 2006-01-06 08:34:01 -08:00
dm-emc.c [PATCH] device-mapper dm-emc: Fix a memset 2005-05-05 16:36:46 -07:00
dm-exception-store.c [PATCH] vfree and kfree cleanup in drivers/ 2005-09-10 10:06:30 -07:00
dm-hw-handler.c [PATCH] device-mapper: Some missing statics 2005-05-05 16:36:46 -07:00
dm-hw-handler.h
dm-io.c [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
dm-io.h [PATCH] device-mapper: remove unused definition 2006-01-06 08:34:00 -08:00
dm-ioctl.c [PATCH] device-mapper ioctl: add skip lock_fs flag 2006-01-06 08:34:01 -08:00
dm-linear.c
dm-log.c [PATCH] make dm-mirror not issue invalid resync requests 2006-01-06 08:34:01 -08:00
dm-log.h
dm-mpath.c [PATCH] device-mapper dm-mpath: endio spinlock fix 2005-11-22 09:14:31 -08:00
dm-mpath.h
dm-path-selector.c [PATCH] device-mapper: Some missing statics 2005-05-05 16:36:46 -07:00
dm-path-selector.h
dm-raid1.c [PATCH] device-mapper raid1: add default mirror 2006-01-06 08:34:00 -08:00
dm-round-robin.c
dm-snap.c [PATCH] device-mapper snapshot: metadata reading separation 2006-01-06 08:34:00 -08:00
dm-snap.h
dm-stripe.c
dm-table.c [SCSI] seperate max_sectors from max_hw_sectors 2005-12-15 15:11:40 -08:00
dm-target.c
dm-zero.c [PATCH] device-mapper: Some missing statics 2005-05-05 16:36:46 -07:00
dm.c [PATCH] device-mapper: make lock_fs optional 2006-01-06 08:34:01 -08:00
dm.h [PATCH] device-mapper: make lock_fs optional 2006-01-06 08:34:01 -08:00
faulty.c
Kconfig
kcopyd.c [PATCH] drivers/md/kcopyd.c: #if 0 kcopyd_cancel() 2006-01-06 08:34:01 -08:00
kcopyd.h
linear.c [BLOCK] Unify the seperate read/write io stat fields into arrays 2005-11-01 09:26:16 +01:00
Makefile [PATCH] md: optimised resync using Bitmap based intent logging 2005-06-21 19:07:43 -07:00
md.c [PATCH] md: attempt to auto-correct read errors in raid1 2006-01-06 08:34:03 -08:00
mktables.c
multipath.c [PATCH] md: convert 'faulty' and 'in_sync' fields to bits in 'flags' field 2005-11-09 07:56:38 -08:00
raid0.c [BLOCK] Unify the seperate read/write io stat fields into arrays 2005-11-01 09:26:16 +01:00
raid1.c [PATCH] md: make sure read error on last working drive of raid1 actually returns failure 2006-01-06 08:34:04 -08:00
raid5.c [PATCH] md: fix up some rdev rcu locking in raid5/6 2006-01-06 08:34:04 -08:00
raid6.h [PATCH] RAID6 Altivec fix 2005-09-17 11:49:58 -07:00
raid6algos.c [PATCH] RAID6 Altivec fix 2005-09-17 11:49:58 -07:00
raid6altivec.uc [PATCH] RAID6 Altivec fix 2005-09-17 11:49:58 -07:00
raid6int.uc
raid6main.c [PATCH] md: fix up some rdev rcu locking in raid5/6 2006-01-06 08:34:04 -08:00
raid6mmx.c
raid6recov.c
raid6sse1.c
raid6sse2.c
raid6x86.h
raid10.c [PATCH] md: raid10 read-error handling - resync and read-only 2006-01-06 08:34:05 -08:00
unroll.pl
xor.c