diff options
Diffstat (limited to 'block/blk-core.c')
| -rw-r--r-- | block/blk-core.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/block/blk-core.c b/block/blk-core.c index 3a78b00edd7..1f61b74867e 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -483,7 +483,7 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id)  	if (!q)  		return NULL; -	q->id = ida_simple_get(&blk_queue_ida, 0, 0, GFP_KERNEL); +	q->id = ida_simple_get(&blk_queue_ida, 0, 0, gfp_mask);  	if (q->id < 0)  		goto fail_q; @@ -1277,7 +1277,8 @@ static bool attempt_plug_merge(struct request_queue *q, struct bio *bio,  	list_for_each_entry_reverse(rq, &plug->list, queuelist) {  		int el_ret; -		(*request_count)++; +		if (rq->q == q) +			(*request_count)++;  		if (rq->q != q || !blk_rq_merge_ok(rq, bio))  			continue;  |