diff options
author | Gabriele A. Trombetti <g.trombetti.lkrnl1213@logicschema.com> | 2010-04-27 21:51:17 -0400 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2010-05-18 01:28:00 -0400 |
commit | 7b0bb5368a7195606eca475d9f4e291ab7227052 (patch) | |
tree | 2c5b9e5269fb585d0386cf931a0d154bee5d875f /drivers/md | |
parent | 75a73a29e520a6ce982b0da6dd8b7560ae3faa90 (diff) |
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 <janos.haar@netcenter.hu>
Signed-off-by: Gabriele A. Trombetti <g.trombetti.lkrnl1213@logicschema.com>
Reported-by: Janos Haar <janos.haar@netcenter.hu>
Signed-off-by: NeilBrown <neilb@suse.de>
Cc: stable@kernel.org
Diffstat (limited to 'drivers/md')
-rw-r--r-- | drivers/md/raid5.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index cee9f93b35c4..eacf02a6ec5f 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c | |||
@@ -1527,7 +1527,7 @@ static void raid5_end_read_request(struct bio * bi, int error) | |||
1527 | 1527 | ||
1528 | clear_bit(R5_UPTODATE, &sh->dev[i].flags); | 1528 | clear_bit(R5_UPTODATE, &sh->dev[i].flags); |
1529 | atomic_inc(&rdev->read_errors); | 1529 | atomic_inc(&rdev->read_errors); |
1530 | if (conf->mddev->degraded) | 1530 | if (conf->mddev->degraded >= conf->max_degraded) |
1531 | printk_rl(KERN_WARNING | 1531 | printk_rl(KERN_WARNING |
1532 | "md/raid:%s: read error not correctable " | 1532 | "md/raid:%s: read error not correctable " |
1533 | "(sector %llu on %s).\n", | 1533 | "(sector %llu on %s).\n", |