[PULL REQUEST] md for 3.3

From: NeilBrown
Date: Wed Jan 04 2012 - 23:04:01 EST



Thanks,
NeilBrown


The following changes since commit 805a6af8dba5dfdd35ec35dc52ec0122400b2610:

Linux 3.2 (2012-01-04 15:55:44 -0800)

are available in the git repository at:

git://neil.brown.name/md/ md-3.3

for you to fetch changes up to 19d671695e1931ebfd75b2b888778201aefe35ca:

md/raid1: Mark device want_replacement when we see a write error. (2011-12-23 10:17:57 +1100)

----------------------------------------------------------------
(from the branch description for md-scratch local branch)

for-linus
md update for 3.3

Big change is new hot-replacement.
A slot in an array can hold 2 devices - one that
wants-replacement and one that is the replacement.
Once the replacement is built - either from the
original or (in the case of errors) from elsewhere,
the wants-replacement device will be removed.

----------------------------------------------------------------
NeilBrown (35):
md: allow non-privileged uses to GET_*_INFO about raid arrays.
md/bitmap: daemon_work cleanup.
md/raid5: be more thorough in calculating 'degraded' value.
md/bitmap: be more consistent when setting new bits in memory bitmap.
md: remove test for duplicate device when setting slot number.
md: change hot_remove_disk to take an rdev rather than a number.
md: create externally visible flags for supporting hot-replace.
md/raid5: allow each slot to have an extra replacement device
md/raid5: raid5.h cleanup
md/raid5: remove redundant bio initialisations.
md/raid5: preferentially read from replacement device if possible.
md/raid5: allow removal for failed replacement devices.
md/raid5: writes should get directed to replacement as well as original.
md/raid5: detect and handle replacements during recovery.
md/raid5: handle activation of replacement device when recovery completes.
md/raid5: recognise replacements when assembling array.
md/raid5: If there is a spare and a want_replacement device, start replacement.
md/raid5: Mark device want_replacement when we see a write error.
md/raid10: prepare data structures for handling replacement.
md/raid10: change read_balance to return an rdev
md/raid10: preferentially read from replacement device if possible.
md/raid10: allow removal of failed replacement devices.
md/raid10: writes should get directed to replacement as well as original.
md/raid10: Handle replacement devices during resync.
md/raid10: handle recovery of replacement devices.
md/raid10: Allow replacement device to be replace old drive.
md/raid10: recognise replacements when assembling array.
md/raid10: If there is a spare and a want_replacement device, start replacement.
md/raid1: Replace use of mddev->raid_disks with conf->raid_disks.
md/raid1: Allocate spare to store replacement devices and their bios.
md/raid1: Allow a failed replacement device to be removed.
md/raid1: handle activation of replacement device when recovery completes.
md/raid1: recognise replacements when assembling arrays.
md/raid1: If there is a spare and a want_replacement device, start replacement.
md/raid1: Mark device want_replacement when we see a write error.

Steven Rostedt (1):
md: Fix userspace free_pages() macro

Documentation/md.txt | 22 ++-
drivers/md/bitmap.c | 12 +-
drivers/md/md.c | 107 ++++++--
drivers/md/md.h | 82 ++++---
drivers/md/multipath.c | 7 +-
drivers/md/raid1.c | 174 ++++++++++----
drivers/md/raid1.h | 7 +-
drivers/md/raid10.c | 582 ++++++++++++++++++++++++++++++++++++---------
drivers/md/raid10.h | 61 +++--
drivers/md/raid5.c | 557 ++++++++++++++++++++++++++++++++-----------
drivers/md/raid5.h | 98 +++++----
include/linux/raid/md_p.h | 7 +-
include/linux/raid/pq.h | 2 +-
13 files changed, 1280 insertions(+), 438 deletions(-)

Attachment: signature.asc
Description: PGP signature