summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorGabriele A. Trombetti <g.trombetti.lkrnl1213@logicschema.com>2010-04-28 03:51:17 +0200
committerNeilBrown <neilb@suse.de>2010-05-07 13:10:35 +0200
commit87aa63000c484bfb9909989316f615240dfee018 (patch)
treeebadeba1c1c03b28e8c2c9036542bd6b75bb9837 /drivers
parentMerge branch 'zerolen' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarz... (diff)
downloadlinux-87aa63000c484bfb9909989316f615240dfee018.tar.xz
linux-87aa63000c484bfb9909989316f615240dfee018.zip
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')
-rw-r--r--drivers/md/raid5.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index 58ea0ecae7c3..15348c393b5d 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)
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",