linux/drivers/md
NeilBrown 4ca40c2ce0 md/raid10: Allow replacement device to be replace old drive.
When recovery finish and spare_active is called, check for a
replace that might have just become fully synced and mark it
as such, marking the original as failed.

Then when the original is removed, move the replacement into
its position.

This means that 'replacement' and spontaneously become NULL in some
situations.  Make sure we check for those.
It also means that 'rdev' and 'replacement' could appear to be
identical - check for that too.

Signed-off-by: NeilBrown <neilb@suse.de>
2011-12-23 10:17:55 +11:00
..
persistent-data device-mapper: using EXPORT_SYBOL in dm-space-map-checker.c needs export.h 2011-11-07 10:29:10 -08:00
bitmap.c md/bitmap: be more consistent when setting new bits in memory bitmap. 2011-12-23 10:17:51 +11:00
bitmap.h md: remove typedefs: mddev_t -> struct mddev 2011-10-11 16:47:53 +11:00
dm-bio-record.h
dm-bufio.c device-mapper: dm-bufio.c needs to include module.h 2011-11-07 10:29:10 -08:00
dm-bufio.h dm: add bufio 2011-10-31 20:19:09 +00:00
dm-crypt.c dm crypt: always disable discard_zeroes_data 2011-09-25 23:26:21 +01:00
dm-delay.c
dm-exception-store.c md: Add module.h to all files using it implicitly 2011-10-31 19:31:18 -04:00
dm-exception-store.h
dm-flakey.c dm: flakey fix corrupt_bio_byte error path 2011-09-25 23:26:15 +01:00
dm-io.c dm io: flush cpu cache with vmapped io 2011-08-02 12:32:01 +01:00
dm-ioctl.c dm table: add immutable feature 2011-10-31 20:19:04 +00:00
dm-kcopyd.c dm kcopyd: add dm_kcopyd_zero to zero an area 2011-10-31 20:18:58 +00:00
dm-linear.c
dm-log-userspace-base.c Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
dm-log-userspace-transfer.c
dm-log-userspace-transfer.h
dm-log.c dm: use vzalloc 2011-08-02 12:32:02 +01:00
dm-mpath.c dm table: share target argument parsing functions 2011-08-02 12:32:04 +01:00
dm-mpath.h
dm-path-selector.c md: Add module.h to all files using it implicitly 2011-10-31 19:31:18 -04:00
dm-path-selector.h
dm-queue-length.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
dm-raid1.c
dm-raid.c Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
dm-region-hash.c
dm-round-robin.c md: Add module.h to all files using it implicitly 2011-10-31 19:31:18 -04:00
dm-service-time.c md: Add module.h to all files using it implicitly 2011-10-31 19:31:18 -04:00
dm-snap-persistent.c md: Add in export.h for files using EXPORT_SYMBOL 2011-10-31 19:31:19 -04:00
dm-snap-transient.c md: Add in export.h for files using EXPORT_SYMBOL 2011-10-31 19:31:19 -04:00
dm-snap.c dm snapshot: skip reading origin when overwriting complete chunk 2011-08-02 12:32:04 +01:00
dm-stripe.c
dm-sysfs.c
dm-table.c dm table: add immutable feature 2011-10-31 20:19:04 +00:00
dm-target.c
dm-thin-metadata.c dm: add thin provisioning target 2011-10-31 20:21:18 +00:00
dm-thin-metadata.h dm: add thin provisioning target 2011-10-31 20:21:18 +00:00
dm-thin.c dm: add thin provisioning target 2011-10-31 20:21:18 +00:00
dm-uevent.c md: Add in export.h for files using EXPORT_SYMBOL 2011-10-31 19:31:19 -04:00
dm-uevent.h
dm-zero.c
dm.c Merge branch 'for-3.2/core' of git://git.kernel.dk/linux-block 2011-11-04 17:06:58 -07:00
dm.h dm table: add immutable feature 2011-10-31 20:19:04 +00:00
faulty.c Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
Kconfig dm: add thin provisioning target 2011-10-31 20:21:18 +00:00
linear.c md/linear: fix hot-add of devices to linear arrays. 2011-12-23 09:56:55 +11:00
linear.h md/linear: typedef removal: linear_conf_t -> struct linear_conf 2011-10-11 16:48:54 +11:00
Makefile dm: add thin provisioning target 2011-10-31 20:21:18 +00:00
md.c md/raid5: If there is a spare and a want_replacement device, start replacement. 2011-12-23 10:17:53 +11:00
md.h md: create externally visible flags for supporting hot-replace. 2011-12-23 10:17:51 +11:00
multipath.c md: change hot_remove_disk to take an rdev rather than a number. 2011-12-23 10:17:51 +11:00
multipath.h md/multipath: typedef removal: multipath_conf_t -> struct mpconf 2011-10-11 16:48:57 +11:00
raid0.c Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
raid0.h md/raid0: typedef removal: raid0_conf_t -> struct r0conf 2011-10-11 16:48:59 +11:00
raid1.c md: change hot_remove_disk to take an rdev rather than a number. 2011-12-23 10:17:51 +11:00
raid1.h md: add proper write-congestion reporting to RAID1 and RAID10. 2011-10-11 16:50:01 +11:00
raid5.c md/raid5: Mark device want_replacement when we see a write error. 2011-12-23 10:17:54 +11:00
raid5.h md/raid5: detect and handle replacements during recovery. 2011-12-23 10:17:53 +11:00
raid10.c md/raid10: Allow replacement device to be replace old drive. 2011-12-23 10:17:55 +11:00
raid10.h md/raid10: prepare data structures for handling replacement. 2011-12-23 10:17:54 +11:00