md/raid10: avoid reading known bad blocks during resync/recovery.
authorNeilBrown <neilb@suse.de>
Thu, 28 Jul 2011 01:39:24 +0000 (11:39 +1000)
committerNeilBrown <neilb@suse.de>
Thu, 28 Jul 2011 01:39:24 +0000 (11:39 +1000)
commit40c356ce5ad1a6be817825e1da1bc7494349cc6d
tree6843d537ecdfda6c03860455c187b775bc6dec97
parent8dbed5cebdf6796bf2618457b3653cf820934366
md/raid10: avoid reading known bad blocks during resync/recovery.

During resync/recovery limit the size of the request to avoid
reading into a bad block that does not start at-or-before the current
read address.

Similarly if there is a bad block at this address, don't allow the
current request to extend beyond the end of that bad block.

Now that we don't ever read from known bad blocks, it is safe to allow
devices with those blocks into the array.

Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/raid10.c