linux_dsm_epyc7002/drivers/md
NeilBrown 9eb07c2592 md: fix 'degraded' calculation when starting a reshape.
This code was written long ago when it was not possible to
reshape a degraded array.  Now it is so the current level of
degraded-ness needs to be taken in to account.  Also newly addded
devices should only reduce degradedness if they are deemed to be
in-sync.

In particular, if you convert a RAID5 to a RAID6, and increase the
number of devices at the same time, then the 5->6 conversion will
make the array degraded so the current code will produce a wrong
value for 'degraded' - "-1" to be precise.

If the reshape runs to completion end_reshape will calculate a correct
new value for 'degraded', but if a device fails during the reshape an
incorrect decision might be made based on the incorrect value of
"degraded".

This patch is suitable for 2.6.32-stable and if they are still open,
2.6.31-stable and 2.6.30-stable as well.

Cc: stable@kernel.org
Reported-by: Michael Evans <mjevans1983@gmail.com>
Signed-off-by: NeilBrown <neilb@suse.de>
2010-02-09 16:34:29 +11:00
..
raid6test
.gitignore
bitmap.c md/bitmap: update dirty flag when bitmap bits are explicitly set. 2009-12-14 12:51:41 +11:00
bitmap.h md: Support write-intent bitmaps with externally managed metadata. 2009-12-14 12:51:41 +11:00
dm-bio-record.h
dm-crypt.c dm crypt: add plain64 iv 2009-12-10 23:52:25 +00:00
dm-delay.c
dm-exception-store.c dm snapshot: move cow ref from exception store to snap core 2009-12-10 23:52:12 +00:00
dm-exception-store.h dm snapshot: add merging 2009-12-10 23:52:32 +00:00
dm-io.c dm io: handle empty barriers 2009-12-10 23:52:22 +00:00
dm-ioctl.c dm: rename dm_suspended to dm_suspended_md 2009-12-10 23:52:26 +00:00
dm-kcopyd.c dm kcopyd: accept zero size jobs 2009-12-10 23:52:13 +00:00
dm-linear.c
dm-log-userspace-base.c
dm-log-userspace-transfer.c
dm-log-userspace-transfer.h
dm-log.c dm raid1: report flush errors separately in status 2009-12-10 23:52:02 +00:00
dm-mpath.c dm mpath: reject messages when device is suspended 2009-12-10 23:52:27 +00:00
dm-mpath.h
dm-path-selector.c
dm-path-selector.h
dm-queue-length.c
dm-raid1.c dm raid1: explicitly initialise bio_lists 2009-12-10 23:52:06 +00:00
dm-region-hash.c dm raid1: remove bio_endio from dm_rh_mark_nosync 2009-12-10 23:52:05 +00:00
dm-round-robin.c
dm-service-time.c
dm-snap-persistent.c dm exception store: add merge specific methods 2009-12-10 23:52:29 +00:00
dm-snap-transient.c dm snapshot: move cow ref from exception store to snap core 2009-12-10 23:52:12 +00:00
dm-snap.c dm snapshot: use merge origin if snapshot invalid 2009-12-10 23:52:36 +00:00
dm-stripe.c
dm-sysfs.c dm: rename dm_suspended to dm_suspended_md 2009-12-10 23:52:26 +00:00
dm-table.c DM: Fix device mapper topology stacking 2010-01-11 14:29:20 +01:00
dm-target.c
dm-uevent.c dm: avoid _hash_lock deadlock 2009-12-10 23:51:52 +00:00
dm-uevent.h
dm-zero.c
dm.c dm: export suspended state to targets 2009-12-10 23:52:27 +00:00
dm.h dm: rename dm_suspended to dm_suspended_md 2009-12-10 23:52:26 +00:00
faulty.c md: add MODULE_DESCRIPTION for all md related modules. 2009-12-14 12:51:41 +11:00
Kconfig md: revise Kconfig help for MD_MULTIPATH 2009-12-14 12:51:41 +11:00
linear.c md: add MODULE_DESCRIPTION for all md related modules. 2009-12-14 12:51:41 +11:00
linear.h
Makefile
md.c md: allow a resync that is waiting for other resync to complete, to be aborted. 2009-12-30 15:25:23 +11:00
md.h raid: improve MD/raid10 handling of correctable read errors. 2009-12-14 12:51:41 +11:00
mktables.c
multipath.c md: add MODULE_DESCRIPTION for all md related modules. 2009-12-14 12:51:41 +11:00
multipath.h
raid0.c md: add MODULE_DESCRIPTION for all md related modules. 2009-12-14 12:51:41 +11:00
raid0.h
raid1.c md: add MODULE_DESCRIPTION for all md related modules. 2009-12-14 12:51:41 +11:00
raid1.h md/raid1: add takeover support for raid5->raid1 2009-12-14 12:51:41 +11:00
raid5.c md: fix 'degraded' calculation when starting a reshape. 2010-02-09 16:34:29 +11:00
raid5.h
raid6algos.c md: add MODULE_DESCRIPTION for all md related modules. 2009-12-14 12:51:41 +11:00
raid6altivec.uc
raid6int.uc
raid6mmx.c
raid6recov.c
raid6sse1.c
raid6sse2.c
raid6x86.h
raid10.c md: add MODULE_DESCRIPTION for all md related modules. 2009-12-14 12:51:41 +11:00
raid10.h
unroll.awk