diff options
Diffstat (limited to 'drivers/md')
-rw-r--r-- | drivers/md/md.c | 14 | ||||
-rw-r--r-- | drivers/md/raid1.c | 7 |
2 files changed, 9 insertions, 12 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c index b182f86a19dd..5f154ef1e4be 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c | |||
@@ -98,44 +98,40 @@ static struct ctl_table_header *raid_table_header; | |||
98 | 98 | ||
99 | static ctl_table raid_table[] = { | 99 | static ctl_table raid_table[] = { |
100 | { | 100 | { |
101 | .ctl_name = DEV_RAID_SPEED_LIMIT_MIN, | ||
102 | .procname = "speed_limit_min", | 101 | .procname = "speed_limit_min", |
103 | .data = &sysctl_speed_limit_min, | 102 | .data = &sysctl_speed_limit_min, |
104 | .maxlen = sizeof(int), | 103 | .maxlen = sizeof(int), |
105 | .mode = S_IRUGO|S_IWUSR, | 104 | .mode = S_IRUGO|S_IWUSR, |
106 | .proc_handler = &proc_dointvec, | 105 | .proc_handler = proc_dointvec, |
107 | }, | 106 | }, |
108 | { | 107 | { |
109 | .ctl_name = DEV_RAID_SPEED_LIMIT_MAX, | ||
110 | .procname = "speed_limit_max", | 108 | .procname = "speed_limit_max", |
111 | .data = &sysctl_speed_limit_max, | 109 | .data = &sysctl_speed_limit_max, |
112 | .maxlen = sizeof(int), | 110 | .maxlen = sizeof(int), |
113 | .mode = S_IRUGO|S_IWUSR, | 111 | .mode = S_IRUGO|S_IWUSR, |
114 | .proc_handler = &proc_dointvec, | 112 | .proc_handler = proc_dointvec, |
115 | }, | 113 | }, |
116 | { .ctl_name = 0 } | 114 | { } |
117 | }; | 115 | }; |
118 | 116 | ||
119 | static ctl_table raid_dir_table[] = { | 117 | static ctl_table raid_dir_table[] = { |
120 | { | 118 | { |
121 | .ctl_name = DEV_RAID, | ||
122 | .procname = "raid", | 119 | .procname = "raid", |
123 | .maxlen = 0, | 120 | .maxlen = 0, |
124 | .mode = S_IRUGO|S_IXUGO, | 121 | .mode = S_IRUGO|S_IXUGO, |
125 | .child = raid_table, | 122 | .child = raid_table, |
126 | }, | 123 | }, |
127 | { .ctl_name = 0 } | 124 | { } |
128 | }; | 125 | }; |
129 | 126 | ||
130 | static ctl_table raid_root_table[] = { | 127 | static ctl_table raid_root_table[] = { |
131 | { | 128 | { |
132 | .ctl_name = CTL_DEV, | ||
133 | .procname = "dev", | 129 | .procname = "dev", |
134 | .maxlen = 0, | 130 | .maxlen = 0, |
135 | .mode = 0555, | 131 | .mode = 0555, |
136 | .child = raid_dir_table, | 132 | .child = raid_dir_table, |
137 | }, | 133 | }, |
138 | { .ctl_name = 0 } | 134 | { } |
139 | }; | 135 | }; |
140 | 136 | ||
141 | static const struct block_device_operations md_fops; | 137 | static const struct block_device_operations md_fops; |
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c index a053423785c9..e07ce2e033a9 100644 --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c | |||
@@ -1650,11 +1650,12 @@ static void raid1d(mddev_t *mddev) | |||
1650 | r1_bio->sector, | 1650 | r1_bio->sector, |
1651 | r1_bio->sectors); | 1651 | r1_bio->sectors); |
1652 | unfreeze_array(conf); | 1652 | unfreeze_array(conf); |
1653 | } | 1653 | } else |
1654 | md_error(mddev, | ||
1655 | conf->mirrors[r1_bio->read_disk].rdev); | ||
1654 | 1656 | ||
1655 | bio = r1_bio->bios[r1_bio->read_disk]; | 1657 | bio = r1_bio->bios[r1_bio->read_disk]; |
1656 | if ((disk=read_balance(conf, r1_bio)) == -1 || | 1658 | if ((disk=read_balance(conf, r1_bio)) == -1) { |
1657 | disk == r1_bio->read_disk) { | ||
1658 | printk(KERN_ALERT "raid1: %s: unrecoverable I/O" | 1659 | printk(KERN_ALERT "raid1: %s: unrecoverable I/O" |
1659 | " read error for block %llu\n", | 1660 | " read error for block %llu\n", |
1660 | bdevname(bio->bi_bdev,b), | 1661 | bdevname(bio->bi_bdev,b), |