mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 23:32:14 +00:00
block: Introduce request_queue.initialize_rq_fn()
Several block drivers need to initialize the driver-private request data after having called blk_get_request() and before .prep_rq_fn() is called, e.g. when submitting a REQ_OP_SCSI_* request. Avoid that that initialization code has to be repeated after every blk_get_request() call by adding new callback functions to struct request_queue and to struct blk_mq_ops. Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com> Cc: Christoph Hellwig <hch@lst.de> Cc: Hannes Reinecke <hare@suse.com> Cc: Omar Sandoval <osandov@fb.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
cd6ce1482f
commit
d280bab305
3 changed files with 19 additions and 4 deletions
|
@ -410,8 +410,12 @@ struct request_queue {
|
|||
rq_timed_out_fn *rq_timed_out_fn;
|
||||
dma_drain_needed_fn *dma_drain_needed;
|
||||
lld_busy_fn *lld_busy_fn;
|
||||
/* Called just after a request is allocated */
|
||||
init_rq_fn *init_rq_fn;
|
||||
/* Called just before a request is freed */
|
||||
exit_rq_fn *exit_rq_fn;
|
||||
/* Called from inside blk_get_request() */
|
||||
void (*initialize_rq_fn)(struct request *rq);
|
||||
|
||||
const struct blk_mq_ops *mq_ops;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue