path: root/block/elevator.c
diff options
authorJens Axboe <>2015-06-10 08:01:20 -0600
committerJens Axboe <>2015-06-10 08:01:20 -0600
commit0bb979472a7401022109e81dd89d777adea58710 (patch)
tree27cf4730d269d037ad5b0db1f89d5ecf788cb3d0 /block/elevator.c
parentae11f7efda05dc568521924c890c80d0be908d43 (diff)
cfq-iosched: fix the setting of IOPS mode on SSDs
A previous commit wanted to make CFQ default to IOPS mode on non-rotational storage, however it did so when the queue was initialized and the non-rotational flag is only set later on in the probe. Add an elevator hook that gets called off the add_disk() path, at that point we know that feature probing has finished, and we can reliably check for the various flags that drivers can set. Fixes: 41c0126b ("block: Make CFQ default to IOPS mode on SSDs") Tested-by: Romain Francoise <> Signed-off-by: Jens Axboe <>
Diffstat (limited to 'block/elevator.c')
1 files changed, 2 insertions, 0 deletions
diff --git a/block/elevator.c b/block/elevator.c
index 59794d0..5f04527 100644
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -810,6 +810,8 @@ int elv_register_queue(struct request_queue *q)
kobject_uevent(&e->kobj, KOBJ_ADD);
e->registered = 1;
+ if (e->type->ops.elevator_registered_fn)
+ e->type->ops.elevator_registered_fn(q);
return error;