Don't let a blocked_rdev interfere with read request in raid5/6
authorNeilBrown <neilb@suse.de>
Tue, 5 Aug 2008 05:54:13 +0000 (15:54 +1000)
committerNeilBrown <neilb@suse.de>
Tue, 5 Aug 2008 05:56:32 +0000 (15:56 +1000)
commitac4090d24c6a26211bc4523d920376e054d4f3f8
tree5aabdbb2448967cbfc23be2fa6714d1c1bbf29dc
parentdba034eef2456d2a9f9a76806846c97acf6c3ad1
Don't let a blocked_rdev interfere with read request in raid5/6

When we have externally managed metadata, we need to mark a failed
device as 'Blocked' and not allow any writes until that device
have been marked as faulty in the metadata and the Blocked flag has
been removed.

However it is perfectly OK to allow read requests when there is a
Blocked device, and with a readonly array, there may not be any
metadata-handler watching for blocked devices.

So in raid5/raid6 only allow a Blocked device to interfere with
Write request or resync.  Read requests go through untouched.

raid1 and raid10 already differentiate between read and write
properly.

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