History

block: add a poll_fn callback to struct request_queue

That we we can also poll non blk-mq queues. Mostly needed for the NVMe multipath code, but could also be useful elsewhere.

Christoph Hellwig committed 9 years ago

Commit ea435e11 parent 8ddcd658 files · +25 −16Browse files

Showing the changes to include/linux/blkdev.h (1 of 8 files). Show all

Unified · Split

include/linux/blkdev.h+3−1
@@ -266,6 +266,7 @@ struct blk_queue_ctx; · 265 unmodified lines
266 266
267typedef void (request_fn_proc) (struct request_queue *q);267typedef void (request_fn_proc) (struct request_queue *q);
268typedef blk_qc_t (make_request_fn) (struct request_queue *q, struct bio *bio);268typedef blk_qc_t (make_request_fn) (struct request_queue *q, struct bio *bio);
269typedef bool (poll_q_fn) (struct request_queue *q, blk_qc_t);
269typedef int (prep_rq_fn) (struct request_queue *, struct request *);270typedef int (prep_rq_fn) (struct request_queue *, struct request *);
270typedef void (unprep_rq_fn) (struct request_queue *, struct request *);271typedef void (unprep_rq_fn) (struct request_queue *, struct request *);
271 272
@@ -408,6 +409,7 @@ struct request_queue { · 136 unmodified lines
408 409
409 request_fn_proc *request_fn;410 request_fn_proc *request_fn;
410 make_request_fn *make_request_fn;411 make_request_fn *make_request_fn;
412 poll_q_fn *poll_fn;
411 prep_rq_fn *prep_rq_fn;413 prep_rq_fn *prep_rq_fn;
412 unprep_rq_fn *unprep_rq_fn;414 unprep_rq_fn *unprep_rq_fn;
413 softirq_done_fn *softirq_done_fn;415 softirq_done_fn *softirq_done_fn;
@@ -975,7 +977,7 @@ extern void blk_execute_rq_nowait(struct request_queue *, struct gendisk *, · 561 unmodified lines
975int blk_status_to_errno(blk_status_t status);977int blk_status_to_errno(blk_status_t status);
976blk_status_t errno_to_blk_status(int errno);978blk_status_t errno_to_blk_status(int errno);
977 979
978bool blk_mq_poll(struct request_queue *q, blk_qc_t cookie);980bool blk_poll(struct request_queue *q, blk_qc_t cookie);
979 981
980static inline struct request_queue *bdev_get_queue(struct block_device *bdev)982static inline struct request_queue *bdev_get_queue(struct block_device *bdev)
981{983{

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t