aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/linear.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/md/linear.c')
-rw-r--r--drivers/md/linear.c9
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
100static int linear_congested(void *data, int bits) 100static 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
371static int __init linear_init (void) 366static int __init linear_init (void)