[PATCH] md: restart a (raid5) reshape that has been aborted due to a read/write error
authorNeilBrown <neilb@suse.de>
Thu, 1 Mar 2007 04:11:48 +0000 (20:11 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Thu, 1 Mar 2007 22:53:36 +0000 (14:53 -0800)
commitb4c4c7b8095298ff4ce20b40bf180ada070812d0
tree2c51fe8ef220be17c791f8aca1218cadcae22b7f
parentd1b5380c7f794da16e815c34e54ee7641db8a288
[PATCH] md: restart a (raid5) reshape that has been aborted due to a read/write error

An error always aborts any resync/recovery/reshape on the understanding that
it will immediately be restarted if that still makes sense.  However a reshape
currently doesn't get restarted.  With this patch it does.

To avoid restarting when it is not possible to do work, we call into the
personality to check that a reshape is ok, and strengthen raid5_check_reshape
to fail if there are too many failed devices.

We also break some code out into a separate function: remove_and_add_spares as
the indent level for that code was getting crazy.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/md/md.c
drivers/md/raid5.c