block: rename and export rq_init()
This rename rq_init() blk_rq_init() and export it. Any path that hands the request to the block layer needs to call it to initialize the request. This is a preparation for large command support, which needs to initialize the request in a proper way (that is, just doing a memset() will not work). Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Cc: Jens Axboe <jens.axboe@oracle.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>hifive-unleashed-5.1
parent
992b5bceee
commit
2a4aa30c5f
|
@ -143,7 +143,7 @@ static void queue_flush(struct request_queue *q, unsigned which)
|
||||||
end_io = post_flush_end_io;
|
end_io = post_flush_end_io;
|
||||||
}
|
}
|
||||||
|
|
||||||
rq_init(q, rq);
|
blk_rq_init(q, rq);
|
||||||
rq->cmd_flags = REQ_HARDBARRIER;
|
rq->cmd_flags = REQ_HARDBARRIER;
|
||||||
rq->rq_disk = q->bar_rq.rq_disk;
|
rq->rq_disk = q->bar_rq.rq_disk;
|
||||||
rq->end_io = end_io;
|
rq->end_io = end_io;
|
||||||
|
@ -165,7 +165,7 @@ static inline struct request *start_ordered(struct request_queue *q,
|
||||||
blkdev_dequeue_request(rq);
|
blkdev_dequeue_request(rq);
|
||||||
q->orig_bar_rq = rq;
|
q->orig_bar_rq = rq;
|
||||||
rq = &q->bar_rq;
|
rq = &q->bar_rq;
|
||||||
rq_init(q, rq);
|
blk_rq_init(q, rq);
|
||||||
if (bio_data_dir(q->orig_bar_rq->bio) == WRITE)
|
if (bio_data_dir(q->orig_bar_rq->bio) == WRITE)
|
||||||
rq->cmd_flags |= REQ_RW;
|
rq->cmd_flags |= REQ_RW;
|
||||||
if (q->ordered & QUEUE_ORDERED_FUA)
|
if (q->ordered & QUEUE_ORDERED_FUA)
|
||||||
|
|
|
@ -107,7 +107,7 @@ struct backing_dev_info *blk_get_backing_dev_info(struct block_device *bdev)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(blk_get_backing_dev_info);
|
EXPORT_SYMBOL(blk_get_backing_dev_info);
|
||||||
|
|
||||||
void rq_init(struct request_queue *q, struct request *rq)
|
void blk_rq_init(struct request_queue *q, struct request *rq)
|
||||||
{
|
{
|
||||||
memset(rq, 0, sizeof(*rq));
|
memset(rq, 0, sizeof(*rq));
|
||||||
|
|
||||||
|
@ -120,6 +120,7 @@ void rq_init(struct request_queue *q, struct request *rq)
|
||||||
rq->tag = -1;
|
rq->tag = -1;
|
||||||
rq->ref_count = 1;
|
rq->ref_count = 1;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(blk_rq_init);
|
||||||
|
|
||||||
static void req_bio_endio(struct request *rq, struct bio *bio,
|
static void req_bio_endio(struct request *rq, struct bio *bio,
|
||||||
unsigned int nbytes, int error)
|
unsigned int nbytes, int error)
|
||||||
|
@ -598,7 +599,7 @@ blk_alloc_request(struct request_queue *q, int rw, int priv, gfp_t gfp_mask)
|
||||||
if (!rq)
|
if (!rq)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
rq_init(q, rq);
|
blk_rq_init(q, rq);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* first three bits are identical in rq->cmd_flags and bio->bi_rw,
|
* first three bits are identical in rq->cmd_flags and bio->bi_rw,
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
extern struct kmem_cache *blk_requestq_cachep;
|
extern struct kmem_cache *blk_requestq_cachep;
|
||||||
extern struct kobj_type blk_queue_ktype;
|
extern struct kobj_type blk_queue_ktype;
|
||||||
|
|
||||||
void rq_init(struct request_queue *q, struct request *rq);
|
|
||||||
void init_request_from_bio(struct request *req, struct bio *bio);
|
void init_request_from_bio(struct request *req, struct bio *bio);
|
||||||
void blk_rq_bio_prep(struct request_queue *q, struct request *rq,
|
void blk_rq_bio_prep(struct request_queue *q, struct request *rq,
|
||||||
struct bio *bio);
|
struct bio *bio);
|
||||||
|
|
|
@ -607,6 +607,7 @@ extern int blk_register_queue(struct gendisk *disk);
|
||||||
extern void blk_unregister_queue(struct gendisk *disk);
|
extern void blk_unregister_queue(struct gendisk *disk);
|
||||||
extern void register_disk(struct gendisk *dev);
|
extern void register_disk(struct gendisk *dev);
|
||||||
extern void generic_make_request(struct bio *bio);
|
extern void generic_make_request(struct bio *bio);
|
||||||
|
extern void blk_rq_init(struct request_queue *q, struct request *rq);
|
||||||
extern void blk_put_request(struct request *);
|
extern void blk_put_request(struct request *);
|
||||||
extern void __blk_put_request(struct request_queue *, struct request *);
|
extern void __blk_put_request(struct request_queue *, struct request *);
|
||||||
extern void blk_end_sync_rq(struct request *rq, int error);
|
extern void blk_end_sync_rq(struct request *rq, int error);
|
||||||
|
|
Loading…
Reference in New Issue