md/raid6: Fix raid-6 read-error correction in degraded state

Fix: Raid-6 was not trying to correct a read-error when in
singly-degraded state and was instead dropping one more device, going to
doubly-degraded state. This patch fixes this behaviour.

Tested-by: Janos Haar <[email protected]>
Signed-off-by: Gabriele A. Trombetti <[email protected]>
Reported-by: Janos Haar <[email protected]>
Signed-off-by: NeilBrown <[email protected]>
Cc: [email protected]
This commit is contained in:
Gabriele A. Trombetti 2010-04-28 11:51:17 +10:00 • committed by NeilBrown
commit 7b0bb5368a

View file

@ -1527,7 +1527,7 @@ static void raid5_end_read_request(struct bio * bi, int error)
clear_bit(R5_UPTODATE, &sh->dev[i].flags);
atomic_inc(&rdev->read_errors);
if (conf->mddev->degraded)
if (conf->mddev->degraded >= conf->max_degraded)
printk_rl(KERN_WARNING
"md/raid:%s: read error not correctable "
"(sector %llu on %s).\n",