osdblk: stop using q->prepare_flush_fn
use REQ_FLUSH flag instead. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
This commit is contained in:
committed by
Jens Axboe
parent
90467c294a
commit
7f9815f09d
@@ -323,7 +323,7 @@ static void osdblk_rq_fn(struct request_queue *q)
|
|||||||
* driver-specific, etc.
|
* driver-specific, etc.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
do_flush = (rq->special == (void *) 0xdeadbeefUL);
|
do_flush = rq->cmd_flags & REQ_FLUSH;
|
||||||
do_write = (rq_data_dir(rq) == WRITE);
|
do_write = (rq_data_dir(rq) == WRITE);
|
||||||
|
|
||||||
if (!do_flush) { /* osd_flush does not use a bio */
|
if (!do_flush) { /* osd_flush does not use a bio */
|
||||||
@@ -380,14 +380,6 @@ static void osdblk_rq_fn(struct request_queue *q)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void osdblk_prepare_flush(struct request_queue *q, struct request *rq)
|
|
||||||
{
|
|
||||||
/* add driver-specific marker, to indicate that this request
|
|
||||||
* is a flush command
|
|
||||||
*/
|
|
||||||
rq->special = (void *) 0xdeadbeefUL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void osdblk_free_disk(struct osdblk_device *osdev)
|
static void osdblk_free_disk(struct osdblk_device *osdev)
|
||||||
{
|
{
|
||||||
struct gendisk *disk = osdev->disk;
|
struct gendisk *disk = osdev->disk;
|
||||||
@@ -447,7 +439,7 @@ static int osdblk_init_disk(struct osdblk_device *osdev)
|
|||||||
blk_queue_stack_limits(q, osd_request_queue(osdev->osd));
|
blk_queue_stack_limits(q, osd_request_queue(osdev->osd));
|
||||||
|
|
||||||
blk_queue_prep_rq(q, blk_queue_start_tag);
|
blk_queue_prep_rq(q, blk_queue_start_tag);
|
||||||
blk_queue_ordered(q, QUEUE_ORDERED_DRAIN_FLUSH, osdblk_prepare_flush);
|
blk_queue_ordered(q, QUEUE_ORDERED_DRAIN_FLUSH, NULL);
|
||||||
|
|
||||||
disk->queue = q;
|
disk->queue = q;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user