X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=block%2Fdeadline-iosched.c;h=599b12e5380f50aa32e35ec3096b035437842805;hb=a11da7df6543b5f71a150b47c0d08ecf0799a0f3;hp=7bf12d793fcdee25eb1ba178a59203b72d60ec2e;hpb=3e9caa525147e28d032a8e413d9797c21cbaf88c;p=~andy%2Flinux diff --git a/block/deadline-iosched.c b/block/deadline-iosched.c index 7bf12d793fc..599b12e5380 100644 --- a/block/deadline-iosched.c +++ b/block/deadline-iosched.c @@ -337,13 +337,13 @@ static void deadline_exit_queue(struct elevator_queue *e) /* * initialize elevator private data (deadline_data). */ -static void *deadline_init_queue(struct request_queue *q) +static int deadline_init_queue(struct request_queue *q) { struct deadline_data *dd; dd = kmalloc_node(sizeof(*dd), GFP_KERNEL | __GFP_ZERO, q->node); if (!dd) - return NULL; + return -ENOMEM; INIT_LIST_HEAD(&dd->fifo_list[READ]); INIT_LIST_HEAD(&dd->fifo_list[WRITE]); @@ -354,7 +354,9 @@ static void *deadline_init_queue(struct request_queue *q) dd->writes_starved = writes_starved; dd->front_merges = 1; dd->fifo_batch = fifo_batch; - return dd; + + q->elevator->elevator_data = dd; + return 0; } /*