diff options
Diffstat (limited to 'drivers/md/linear.c')
-rw-r--r-- | drivers/md/linear.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/md/linear.c b/drivers/md/linear.c index 64713b77df1c..05108510d9cd 100644 --- a/drivers/md/linear.c +++ b/drivers/md/linear.c | |||
@@ -97,15 +97,11 @@ static int linear_mergeable_bvec(struct request_queue *q, | |||
97 | return maxsectors << 9; | 97 | return maxsectors << 9; |
98 | } | 98 | } |
99 | 99 | ||
100 | static int linear_congested(void *data, int bits) | 100 | static int linear_congested(struct mddev *mddev, int bits) |
101 | { | 101 | { |
102 | struct mddev *mddev = data; | ||
103 | struct linear_conf *conf; | 102 | struct linear_conf *conf; |
104 | int i, ret = 0; | 103 | int i, ret = 0; |
105 | 104 | ||
106 | if (mddev_congested(mddev, bits)) | ||
107 | return 1; | ||
108 | |||
109 | rcu_read_lock(); | 105 | rcu_read_lock(); |
110 | conf = rcu_dereference(mddev->private); | 106 | conf = rcu_dereference(mddev->private); |
111 | 107 | ||
@@ -218,8 +214,6 @@ static int linear_run (struct mddev *mddev) | |||
218 | md_set_array_sectors(mddev, linear_size(mddev, 0, 0)); | 214 | md_set_array_sectors(mddev, linear_size(mddev, 0, 0)); |
219 | 215 | ||
220 | blk_queue_merge_bvec(mddev->queue, linear_mergeable_bvec); | 216 | blk_queue_merge_bvec(mddev->queue, linear_mergeable_bvec); |
221 | mddev->queue->backing_dev_info.congested_fn = linear_congested; | ||
222 | mddev->queue->backing_dev_info.congested_data = mddev; | ||
223 | 217 | ||
224 | ret = md_integrity_register(mddev); | 218 | ret = md_integrity_register(mddev); |
225 | if (ret) { | 219 | if (ret) { |
@@ -366,6 +360,7 @@ static struct md_personality linear_personality = | |||
366 | .status = linear_status, | 360 | .status = linear_status, |
367 | .hot_add_disk = linear_add, | 361 | .hot_add_disk = linear_add, |
368 | .size = linear_size, | 362 | .size = linear_size, |
363 | .congested = linear_congested, | ||
369 | }; | 364 | }; |
370 | 365 | ||
371 | static int __init linear_init (void) | 366 | static int __init linear_init (void) |