diff options
-rw-r--r-- | block/blk-core.c | 7 | ||||
-rw-r--r-- | block/blk-sysfs.c | 6 |
2 files changed, 8 insertions, 5 deletions
diff --git a/block/blk-core.c b/block/blk-core.c index 3b080541098e..80e29c90723c 100644 --- a/block/blk-core.c +++ b/block/blk-core.c | |||
@@ -608,8 +608,8 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id) | |||
608 | /* | 608 | /* |
609 | * A queue starts its life with bypass turned on to avoid | 609 | * A queue starts its life with bypass turned on to avoid |
610 | * unnecessary bypass on/off overhead and nasty surprises during | 610 | * unnecessary bypass on/off overhead and nasty surprises during |
611 | * init. The initial bypass will be finished at the end of | 611 | * init. The initial bypass will be finished when the queue is |
612 | * blk_init_allocated_queue(). | 612 | * registered by blk_register_queue(). |
613 | */ | 613 | */ |
614 | q->bypass_depth = 1; | 614 | q->bypass_depth = 1; |
615 | __set_bit(QUEUE_FLAG_BYPASS, &q->queue_flags); | 615 | __set_bit(QUEUE_FLAG_BYPASS, &q->queue_flags); |
@@ -712,9 +712,6 @@ blk_init_allocated_queue(struct request_queue *q, request_fn_proc *rfn, | |||
712 | /* init elevator */ | 712 | /* init elevator */ |
713 | if (elevator_init(q, NULL)) | 713 | if (elevator_init(q, NULL)) |
714 | return NULL; | 714 | return NULL; |
715 | |||
716 | /* all done, end the initial bypass */ | ||
717 | blk_queue_bypass_end(q); | ||
718 | return q; | 715 | return q; |
719 | } | 716 | } |
720 | EXPORT_SYMBOL(blk_init_allocated_queue); | 717 | EXPORT_SYMBOL(blk_init_allocated_queue); |
diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c index 247dbfd42621..ce6204608822 100644 --- a/block/blk-sysfs.c +++ b/block/blk-sysfs.c | |||
@@ -561,6 +561,12 @@ int blk_register_queue(struct gendisk *disk) | |||
561 | if (WARN_ON(!q)) | 561 | if (WARN_ON(!q)) |
562 | return -ENXIO; | 562 | return -ENXIO; |
563 | 563 | ||
564 | /* | ||
565 | * Initialization must be complete by now. Finish the initial | ||
566 | * bypass from queue allocation. | ||
567 | */ | ||
568 | blk_queue_bypass_end(q); | ||
569 | |||
564 | ret = blk_trace_init_sysfs(dev); | 570 | ret = blk_trace_init_sysfs(dev); |
565 | if (ret) | 571 | if (ret) |
566 | return ret; | 572 | return ret; |