| From 87aa63000c484bfb9909989316f615240dfee018 Mon Sep 17 00:00:00 2001 |
| From: Gabriele A. Trombetti <g.trombetti.lkrnl1213@logicschema.com> |
| Date: Wed, 28 Apr 2010 11:51:17 +1000 |
| Subject: md/raid6: Fix raid-6 read-error correction in degraded state |
| |
| From: Gabriele A. Trombetti <g.trombetti.lkrnl1213@logicschema.com> |
| |
| commit 87aa63000c484bfb9909989316f615240dfee018 upstream. |
| |
| 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> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/md/raid5.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/md/raid5.c |
| +++ b/drivers/md/raid5.c |
| @@ -1526,7 +1526,7 @@ static void raid5_end_read_request(struc |
| |
| 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 |
| "raid5:%s: read error not correctable " |
| "(sector %llu on %s).\n", |