diff options
author | Gabriele A. Trombetti <g.trombetti.lkrnl1213@logicschema.com> | 2010-04-28 11:51:17 +1000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-05-12 15:03:08 -0700 |
commit | 14f3f308ad22df647485f680b3b4f552689f23e2 (patch) | |
tree | 81962044f8ae48a68837cf16e5f36bb3292f1495 /drivers | |
parent | 23f16e57f5f2b341129c131fc809c105261338f9 (diff) | |
download | lwn-14f3f308ad22df647485f680b3b4f552689f23e2.tar.gz lwn-14f3f308ad22df647485f680b3b4f552689f23e2.zip |
md/raid6: Fix raid-6 read-error correction in degraded state
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>
Diffstat (limited to 'drivers')
-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 90719aca6e06..0468f5b78f0d 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c @@ -1526,7 +1526,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", |