dd->drq_pool = mempool_create(BLKDEV_MIN_RQ, mempool_alloc_slab, mempool_free_slab, drq_pool); 
dd->drq_pool = mempool_create_node(BLKDEV_MIN_RQ, mempool_alloc_slab, mempool_free_slab, drq_pool, q->node); 
static int deadline_init_queue(request_queue_t *q, elevator_t *e){	struct deadline_data *dd;	int i;	if (!drq_pool)		return -ENOMEM;	dd = kmalloc(sizeof(*dd), GFP_KERNEL);	if (!dd)		return -ENOMEM;	memset(dd, 0, sizeof(*dd));	dd->hash = kmalloc(sizeof(struct list_head)*DL_HASH_ENTRIES,GFP_KERNEL);	if (!dd->hash) {		kfree(dd);		return -ENOMEM;	}	dd->drq_pool = mempool_create(BLKDEV_MIN_RQ, mempool_alloc_slab, mempool_free_slab, drq_pool);	if (!dd->drq_pool) {		kfree(dd->hash);		kfree(dd);		return -ENOMEM;	}	for (i = 0; i < DL_HASH_ENTRIES; i++)		INIT_LIST_HEAD(&dd->hash[i]);	INIT_LIST_HEAD(&dd->fifo_list[READ]);	INIT_LIST_HEAD(&dd->fifo_list[WRITE]);	dd->sort_list[READ] = RB_ROOT;	dd->sort_list[WRITE] = RB_ROOT;	dd->dispatch = &q->queue_head;	dd->fifo_expire[READ] = read_expire;	dd->fifo_expire[WRITE] = write_expire;	dd->writes_starved = writes_starved;	dd->front_merges = 1;	dd->fifo_batch = fifo_batch;	e->elevator_data = dd;	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/1946089a109251655c5438d92c539bd2930e71ea/deadline-iosched.c/buggy/drivers/block/deadline-iosched.c