summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-12-02 15:40:37 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2009-12-02 15:40:37 -0800
commit0a45281f8eb49df1bfe0138ffcc76708bdcac875 (patch)
tree6d862e658721de55a4ad1f205c66ad3cf3832673 /drivers
parentf066a4f6df68f03b565dfe867dde54dfeb26576e (diff)
parentd0e260782c3702a009645c3caa02e381dab8798b (diff)
Merge branch 'for-linus' of git://neil.brown.name/md
* 'for-linus' of git://neil.brown.name/md: md: revert incorrect fix for read error handling in raid1.
Diffstat (limited to 'drivers')
-rw-r--r--drivers/md/raid1.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c
index a053423785c..e07ce2e033a 100644
--- a/drivers/md/raid1.c
+++ b/drivers/md/raid1.c
@@ -1650,11 +1650,12 @@ static void raid1d(mddev_t *mddev)
r1_bio->sector,
r1_bio->sectors);
unfreeze_array(conf);
- }
+ } else
+ md_error(mddev,
+ conf->mirrors[r1_bio->read_disk].rdev);
bio = r1_bio->bios[r1_bio->read_disk];
- if ((disk=read_balance(conf, r1_bio)) == -1 ||
- disk == r1_bio->read_disk) {
+ if ((disk=read_balance(conf, r1_bio)) == -1) {
printk(KERN_ALERT "raid1: %s: unrecoverable I/O"
" read error for block %llu\n",
bdevname(bio->bi_bdev,b),