aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--block/blk-core.c2
-rw-r--r--block/blk-mq-sched.c2
-rw-r--r--block/blk.h2
-rw-r--r--block/elevator.c10
4 files changed, 5 insertions, 11 deletions
diff --git a/block/blk-core.c b/block/blk-core.c
index b00e7e6340ca..18b691c93b63 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -1179,7 +1179,7 @@ int blk_init_allocated_queue(struct request_queue *q)
1179 mutex_lock(&q->sysfs_lock); 1179 mutex_lock(&q->sysfs_lock);
1180 1180
1181 /* init elevator */ 1181 /* init elevator */
1182 if (elevator_init(q, NULL)) { 1182 if (elevator_init(q)) {
1183 mutex_unlock(&q->sysfs_lock); 1183 mutex_unlock(&q->sysfs_lock);
1184 goto out_exit_flush_rq; 1184 goto out_exit_flush_rq;
1185 } 1185 }
diff --git a/block/blk-mq-sched.c b/block/blk-mq-sched.c
index b0f2c2a40a0c..fd4f68d61df0 100644
--- a/block/blk-mq-sched.c
+++ b/block/blk-mq-sched.c
@@ -653,7 +653,7 @@ int blk_mq_sched_init(struct request_queue *q)
653 int ret; 653 int ret;
654 654
655 mutex_lock(&q->sysfs_lock); 655 mutex_lock(&q->sysfs_lock);
656 ret = elevator_init(q, NULL); 656 ret = elevator_init(q);
657 mutex_unlock(&q->sysfs_lock); 657 mutex_unlock(&q->sysfs_lock);
658 658
659 return ret; 659 return ret;
diff --git a/block/blk.h b/block/blk.h
index a559c0532347..ab5ec2dadc7b 100644
--- a/block/blk.h
+++ b/block/blk.h
@@ -231,7 +231,7 @@ static inline void elv_deactivate_rq(struct request_queue *q, struct request *rq
231 e->type->ops.sq.elevator_deactivate_req_fn(q, rq); 231 e->type->ops.sq.elevator_deactivate_req_fn(q, rq);
232} 232}
233 233
234int elevator_init(struct request_queue *, char *); 234int elevator_init(struct request_queue *);
235void elevator_exit(struct request_queue *, struct elevator_queue *); 235void elevator_exit(struct request_queue *, struct elevator_queue *);
236int elv_register_queue(struct request_queue *q); 236int elv_register_queue(struct request_queue *q);
237void elv_unregister_queue(struct request_queue *q); 237void elv_unregister_queue(struct request_queue *q);
diff --git a/block/elevator.c b/block/elevator.c
index a7baa4687b28..9276540af2a1 100644
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -199,7 +199,7 @@ static void elevator_release(struct kobject *kobj)
199 kfree(e); 199 kfree(e);
200} 200}
201 201
202int elevator_init(struct request_queue *q, char *name) 202int elevator_init(struct request_queue *q)
203{ 203{
204 struct elevator_type *e = NULL; 204 struct elevator_type *e = NULL;
205 int err; 205 int err;
@@ -213,19 +213,13 @@ int elevator_init(struct request_queue *q, char *name)
213 if (unlikely(q->elevator)) 213 if (unlikely(q->elevator))
214 return 0; 214 return 0;
215 215
216 if (name) {
217 e = elevator_get(q, name, true);
218 if (!e)
219 return -EINVAL;
220 }
221
222 /* 216 /*
223 * Use the default elevator specified by config boot param for 217 * Use the default elevator specified by config boot param for
224 * non-mq devices, or by config option. Don't try to load modules 218 * non-mq devices, or by config option. Don't try to load modules
225 * as we could be running off async and request_module() isn't 219 * as we could be running off async and request_module() isn't
226 * allowed from async. 220 * allowed from async.
227 */ 221 */
228 if (!e && !q->mq_ops && *chosen_elevator) { 222 if (!q->mq_ops && *chosen_elevator) {
229 e = elevator_get(q, chosen_elevator, false); 223 e = elevator_get(q, chosen_elevator, false);
230 if (!e) 224 if (!e)
231 printk(KERN_ERR "I/O scheduler %s not found\n", 225 printk(KERN_ERR "I/O scheduler %s not found\n",