mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-12 05:48:39 +08:00
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: Jens Axboe <jens.axboe@oracle.com>
This commit is contained in:
parent
17d5c8ca75
commit
26a2ac009c
@ -2446,12 +2446,22 @@ static void cfq_exit_queue(struct elevator_queue *e)
|
||||
static void *cfq_init_queue(struct request_queue *q)
|
||||
{
|
||||
struct cfq_data *cfqd;
|
||||
int i;
|
||||
|
||||
cfqd = kmalloc_node(sizeof(*cfqd), GFP_KERNEL | __GFP_ZERO, q->node);
|
||||
if (!cfqd)
|
||||
return NULL;
|
||||
|
||||
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);
|
||||
|
||||
cfqd->queue = q;
|
||||
|
Loading…
Reference in New Issue
Block a user