diff options
Diffstat (limited to 'block')
-rw-r--r-- | block/elevator.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/block/elevator.c b/block/elevator.c index 9edba1b8323e..c2d61d56e0b7 100644 --- a/block/elevator.c +++ b/block/elevator.c | |||
@@ -136,6 +136,22 @@ static int __init elevator_setup(char *str) | |||
136 | 136 | ||
137 | __setup("elevator=", elevator_setup); | 137 | __setup("elevator=", elevator_setup); |
138 | 138 | ||
139 | /* called during boot to load the elevator chosen by the elevator param */ | ||
140 | void __init load_default_elevator_module(void) | ||
141 | { | ||
142 | struct elevator_type *e; | ||
143 | |||
144 | if (!chosen_elevator[0]) | ||
145 | return; | ||
146 | |||
147 | spin_lock(&elv_list_lock); | ||
148 | e = elevator_find(chosen_elevator); | ||
149 | spin_unlock(&elv_list_lock); | ||
150 | |||
151 | if (!e) | ||
152 | request_module("%s-iosched", chosen_elevator); | ||
153 | } | ||
154 | |||
139 | static struct kobj_type elv_ktype; | 155 | static struct kobj_type elv_ktype; |
140 | 156 | ||
141 | static struct elevator_queue *elevator_alloc(struct request_queue *q, | 157 | static struct elevator_queue *elevator_alloc(struct request_queue *q, |