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; |
