Commit 26a2ac00 authored by Jens Axboe's avatar Jens Axboe

cfq-iosched: clear ->prio_trees[] on cfqd alloc

Not strictly needed, but we should make it clear that we init the
rbtree roots here.
Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
parent 17d5c8ca
...@@ -2446,12 +2446,22 @@ static void cfq_exit_queue(struct elevator_queue *e) ...@@ -2446,12 +2446,22 @@ static void cfq_exit_queue(struct elevator_queue *e)
static void *cfq_init_queue(struct request_queue *q) static void *cfq_init_queue(struct request_queue *q)
{ {
struct cfq_data *cfqd; struct cfq_data *cfqd;
int i;
cfqd = kmalloc_node(sizeof(*cfqd), GFP_KERNEL | __GFP_ZERO, q->node); cfqd = kmalloc_node(sizeof(*cfqd), GFP_KERNEL | __GFP_ZERO, q->node);
if (!cfqd) if (!cfqd)
return NULL; return NULL;
cfqd->service_tree = CFQ_RB_ROOT; cfqd->service_tree = CFQ_RB_ROOT;
/*
* Not strictly needed (since RB_ROOT just clears the node and we
* zeroed cfqd on alloc), but better be safe in case someone decides
* to add magic to the rb code
*/
for (i = 0; i < CFQ_PRIO_LISTS; i++)
cfqd->prio_trees[i] = RB_ROOT;
INIT_LIST_HEAD(&cfqd->cic_list); INIT_LIST_HEAD(&cfqd->cic_list);
cfqd->queue = q; cfqd->queue = q;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment