diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-02-06 07:41:10 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-02-06 07:41:10 -0800 |
commit | b2a740aab8f3bc2fd9f01528e39607bd9a1f0da6 (patch) | |
tree | bf864e71484732b0fa1f0bfa279242ae4d89bc00 /drivers/md/raid1.c | |
parent | 9be260a646bf76fa418ee519afa10196b3164681 (diff) | |
parent | de01dfadf25bf83cfe3d85c163005c4320532658 (diff) |
Merge branch 'for-linus' of git://neil.brown.name/md
* 'for-linus' of git://neil.brown.name/md:
md: Ensure an md array never has too many devices.
md: Fix a bug in linear.c causing which_dev() to return the wrong device.
md: Allow read error in a single drive raid1 to be passed up.
Diffstat (limited to 'drivers/md/raid1.c')
-rw-r--r-- | drivers/md/raid1.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c index 7b4f5f7155d..01e3cffd03b 100644 --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c @@ -1640,7 +1640,8 @@ static void raid1d(mddev_t *mddev) } bio = r1_bio->bios[r1_bio->read_disk]; - if ((disk=read_balance(conf, r1_bio)) == -1) { + if ((disk=read_balance(conf, r1_bio)) == -1 || + disk == r1_bio->read_disk) { printk(KERN_ALERT "raid1: %s: unrecoverable I/O" " read error for block %llu\n", bdevname(bio->bi_bdev,b), |