diff options
author | Ming Lei <ming.lei@canonical.com> | 2014-09-25 19:23:43 +0400 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2014-09-26 01:22:40 +0400 |
commit | 7c94e1c157a227837b04f02f5edeff8301410ba2 (patch) | |
tree | 3b592095b0204ebad61dd22b77aa1e72595dbc3a /include/linux | |
parent | 7ddab5de5b80d3111f9e6765714e728b2c4f1c07 (diff) | |
download | linux-7c94e1c157a227837b04f02f5edeff8301410ba2.tar.xz |
block: introduce blk_flush_queue to drive flush machinery
This patch introduces 'struct blk_flush_queue' and puts all
flush machinery related fields into this structure, so that
- flush implementation details aren't exposed to driver
- it is easy to convert to per dispatch-queue flush machinery
This patch is basically a mechanical replacement.
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/blkdev.h | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index e267bf0db559..49f3461e4272 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -36,6 +36,7 @@ struct request; struct sg_io_hdr; struct bsg_job; struct blkcg_gq; +struct blk_flush_queue; #define BLKDEV_MIN_RQ 4 #define BLKDEV_MAX_RQ 128 /* Default maximum */ @@ -455,14 +456,7 @@ struct request_queue { */ unsigned int flush_flags; unsigned int flush_not_queueable:1; - unsigned int flush_queue_delayed:1; - unsigned int flush_pending_idx:1; - unsigned int flush_running_idx:1; - unsigned long flush_pending_since; - struct list_head flush_queue[2]; - struct list_head flush_data_in_flight; - struct request *flush_rq; - spinlock_t mq_flush_lock; + struct blk_flush_queue *fq; struct list_head requeue_list; spinlock_t requeue_lock; |