NeilBrown
4274215d24
md: avoid endless recovery loop when waiting for fail device to complete.
...
If a device fails in a way that causes pending request to take a while
to complete, md will not be able to immediately remove it from the
array in remove_and_add_spares.
It will then incorrectly look like a spare device and md will try to
recover it even though it is failed.
This leads to a recovery process starting and instantly aborting over
and over again.
We should check if the device is faulty before considering it to be a
spare. This will avoid trying to start a recovery that cannot
proceed.
This bug was introduced in 2.6.26 so that patch is suitable for any
kernel since then.
Cc: stable@kernel.org
Reported-by: Jim Paradis <james.paradis@stratus.com>
Signed-off-by: NeilBrown <neilb@suse.de>
2011-06-28 16:59:42 +10:00
..
bitmap.c
md/bitmap: remove unused fields from struct bitmap
2011-06-09 11:43:01 +10:00
bitmap.h
md/bitmap: remove unused fields from struct bitmap
2011-06-09 11:43:01 +10:00
dm-bio-record.h
dm-crypt.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm
2011-03-25 20:51:44 -07:00
dm-delay.c
dm-exception-store.c
dm-exception-store.h
dm-flakey.c
dm: add flakey target
2011-03-24 13:54:24 +00:00
dm-io.c
dm io: use fixed initial mempool size
2011-05-29 13:03:09 +01:00
dm-ioctl.c
dm ioctl: add flag to wipe buffers for secure data
2011-03-24 13:54:30 +00:00
dm-kcopyd.c
dm kcopyd: return client directly and not through a pointer
2011-05-29 13:03:13 +01:00
dm-linear.c
dm-log-userspace-base.c
dm-log-userspace-transfer.c
dm-log-userspace-transfer.h
dm-log.c
dm io: use fixed initial mempool size
2011-05-29 13:03:09 +01:00
dm-mpath.c
dm mpath: do not fail paths after integrity errors
2011-05-29 13:02:55 +01:00
dm-mpath.h
dm-path-selector.c
dm-path-selector.h
dm-queue-length.c
dm-raid.c
md/dm - remove remains of plug_fn callback.
2011-04-18 18:25:41 +10:00
dm-raid1.c
dm kcopyd: return client directly and not through a pointer
2011-05-29 13:03:13 +01:00
dm-region-hash.c
Fix common misspellings
2011-03-31 11:26:23 -03:00
dm-round-robin.c
dm-service-time.c
dm-snap-persistent.c
dm io: use fixed initial mempool size
2011-05-29 13:03:09 +01:00
dm-snap-transient.c
dm-snap.c
dm kcopyd: return client directly and not through a pointer
2011-05-29 13:03:13 +01:00
dm-stripe.c
dm stripe: implement merge method
2011-03-24 13:54:35 +00:00
dm-sysfs.c
dm-table.c
dm table: reject devices without request fns
2011-05-29 13:02:52 +01:00
dm-target.c
dm-uevent.c
dm-uevent.h
dm-zero.c
dm.c
dm.h
faulty.c
Fix common misspellings
2011-03-31 11:26:23 -03:00
Kconfig
dm: add flakey target
2011-03-24 13:54:24 +00:00
linear.c
linear.h
Makefile
dm: add flakey target
2011-03-24 13:54:24 +00:00
md.c
md: avoid endless recovery loop when waiting for fail device to complete.
2011-06-28 16:59:42 +10:00
md.h
MD: support initial bitmap creation in-kernel
2011-06-09 11:41:36 +10:00
multipath.c
md: make error_handler functions more uniform and correct.
2011-05-11 14:38:44 +10:00
multipath.h
md/multipath: discard ->working_disks in favour of ->degraded
2011-05-11 14:38:02 +10:00
raid0.c
raid0.h
raid1.c
MD: raid1 changes to allow use by device mapper
2011-06-08 15:11:31 +10:00
raid1.h
MD: raid1 changes to allow use by device mapper
2011-06-08 15:11:31 +10:00
raid5.c
md/raid5: remove unusual use of bio_iovec_idx()
2011-06-14 14:23:57 +10:00
raid5.h
md - remove old plugging code.
2011-04-18 18:25:42 +10:00
raid10.c
md/raid10: reformat some loops with less indenting.
2011-05-11 14:54:41 +10:00
raid10.h
Fix common misspellings
2011-03-31 11:26:23 -03:00