浏览代码

block: remove blk_init_flush() and its pair

Now mission of the two helpers is over, and just call
blk_alloc_flush_queue() and blk_free_flush_queue() directly.

Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Ming Lei 11 年之前
父节点
当前提交
ba483388e3
共有 5 个文件被更改,包括 10 次插入23 次删除
  1. 3 2
      block/blk-core.c
  2. 2 17
      block/blk-flush.c
  3. 2 1
      block/blk-mq.c
  4. 1 1
      block/blk-sysfs.c
  5. 2 2
      block/blk.h

+ 3 - 2
block/blk-core.c

@@ -704,7 +704,8 @@ blk_init_allocated_queue(struct request_queue *q, request_fn_proc *rfn,
 	if (!q)
 	if (!q)
 		return NULL;
 		return NULL;
 
 
-	if (blk_init_flush(q))
+	q->fq = blk_alloc_flush_queue(q);
+	if (!q->fq)
 		return NULL;
 		return NULL;
 
 
 	if (blk_init_rl(&q->root_rl, q, GFP_KERNEL))
 	if (blk_init_rl(&q->root_rl, q, GFP_KERNEL))
@@ -740,7 +741,7 @@ blk_init_allocated_queue(struct request_queue *q, request_fn_proc *rfn,
 	return q;
 	return q;
 
 
 fail:
 fail:
-	blk_exit_flush(q);
+	blk_free_flush_queue(q->fq);
 	return NULL;
 	return NULL;
 }
 }
 EXPORT_SYMBOL(blk_init_allocated_queue);
 EXPORT_SYMBOL(blk_init_allocated_queue);

+ 2 - 17
block/blk-flush.c

@@ -479,8 +479,7 @@ int blkdev_issue_flush(struct block_device *bdev, gfp_t gfp_mask,
 }
 }
 EXPORT_SYMBOL(blkdev_issue_flush);
 EXPORT_SYMBOL(blkdev_issue_flush);
 
 
-static struct blk_flush_queue *blk_alloc_flush_queue(
-		struct request_queue *q)
+struct blk_flush_queue *blk_alloc_flush_queue(struct request_queue *q)
 {
 {
 	struct blk_flush_queue *fq;
 	struct blk_flush_queue *fq;
 	int rq_sz = sizeof(struct request);
 	int rq_sz = sizeof(struct request);
@@ -511,7 +510,7 @@ static struct blk_flush_queue *blk_alloc_flush_queue(
 	return NULL;
 	return NULL;
 }
 }
 
 
-static void blk_free_flush_queue(struct blk_flush_queue *fq)
+void blk_free_flush_queue(struct blk_flush_queue *fq)
 {
 {
 	/* bio based request queue hasn't flush queue */
 	/* bio based request queue hasn't flush queue */
 	if (!fq)
 	if (!fq)
@@ -520,17 +519,3 @@ static void blk_free_flush_queue(struct blk_flush_queue *fq)
 	kfree(fq->flush_rq);
 	kfree(fq->flush_rq);
 	kfree(fq);
 	kfree(fq);
 }
 }
-
-int blk_init_flush(struct request_queue *q)
-{
-	q->fq = blk_alloc_flush_queue(q);
-	if (!q->fq)
-		return -ENOMEM;
-
-	return 0;
-}
-
-void blk_exit_flush(struct request_queue *q)
-{
-	blk_free_flush_queue(q->fq);
-}

+ 2 - 1
block/blk-mq.c

@@ -1861,7 +1861,8 @@ struct request_queue *blk_mq_init_queue(struct blk_mq_tag_set *set)
 
 
 	blk_mq_add_queue_tag_set(set, q);
 	blk_mq_add_queue_tag_set(set, q);
 
 
-	if (blk_init_flush(q))
+	q->fq = blk_alloc_flush_queue(q);
+	if (!q->fq)
 		goto err_hw_queues;
 		goto err_hw_queues;
 
 
 	blk_mq_map_swqueue(q);
 	blk_mq_map_swqueue(q);

+ 1 - 1
block/blk-sysfs.c

@@ -517,7 +517,7 @@ static void blk_release_queue(struct kobject *kobj)
 	if (q->queue_tags)
 	if (q->queue_tags)
 		__blk_queue_free_tags(q);
 		__blk_queue_free_tags(q);
 
 
-	blk_exit_flush(q);
+	blk_free_flush_queue(q->fq);
 
 
 	if (q->mq_ops)
 	if (q->mq_ops)
 		blk_mq_free_queue(q);
 		blk_mq_free_queue(q);

+ 2 - 2
block/blk.h

@@ -39,8 +39,8 @@ static inline void __blk_get_queue(struct request_queue *q)
 	kobject_get(&q->kobj);
 	kobject_get(&q->kobj);
 }
 }
 
 
-int blk_init_flush(struct request_queue *q);
-void blk_exit_flush(struct request_queue *q);
+struct blk_flush_queue *blk_alloc_flush_queue(struct request_queue *q);
+void blk_free_flush_queue(struct blk_flush_queue *fq);
 
 
 int blk_init_rl(struct request_list *rl, struct request_queue *q,
 int blk_init_rl(struct request_list *rl, struct request_queue *q,
 		gfp_t gfp_mask);
 		gfp_t gfp_mask);