diff options
Diffstat (limited to 'include/linux/blk-mq.h')
-rw-r--r-- | include/linux/blk-mq.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/blk-mq.h b/include/linux/blk-mq.h index 2498fdf3a503..e43bbffb5b7a 100644 --- a/include/linux/blk-mq.h +++ b/include/linux/blk-mq.h | |||
@@ -96,6 +96,7 @@ typedef int (init_request_fn)(void *, struct request *, unsigned int, | |||
96 | unsigned int, unsigned int); | 96 | unsigned int, unsigned int); |
97 | typedef void (exit_request_fn)(void *, struct request *, unsigned int, | 97 | typedef void (exit_request_fn)(void *, struct request *, unsigned int, |
98 | unsigned int); | 98 | unsigned int); |
99 | typedef int (reinit_request_fn)(void *, struct request *); | ||
99 | 100 | ||
100 | typedef void (busy_iter_fn)(struct blk_mq_hw_ctx *, struct request *, void *, | 101 | typedef void (busy_iter_fn)(struct blk_mq_hw_ctx *, struct request *, void *, |
101 | bool); | 102 | bool); |
@@ -145,6 +146,7 @@ struct blk_mq_ops { | |||
145 | */ | 146 | */ |
146 | init_request_fn *init_request; | 147 | init_request_fn *init_request; |
147 | exit_request_fn *exit_request; | 148 | exit_request_fn *exit_request; |
149 | reinit_request_fn *reinit_request; | ||
148 | }; | 150 | }; |
149 | 151 | ||
150 | enum { | 152 | enum { |
@@ -196,6 +198,8 @@ enum { | |||
196 | 198 | ||
197 | struct request *blk_mq_alloc_request(struct request_queue *q, int rw, | 199 | struct request *blk_mq_alloc_request(struct request_queue *q, int rw, |
198 | unsigned int flags); | 200 | unsigned int flags); |
201 | struct request *blk_mq_alloc_request_hctx(struct request_queue *q, int op, | ||
202 | unsigned int flags, unsigned int hctx_idx); | ||
199 | struct request *blk_mq_tag_to_rq(struct blk_mq_tags *tags, unsigned int tag); | 203 | struct request *blk_mq_tag_to_rq(struct blk_mq_tags *tags, unsigned int tag); |
200 | struct cpumask *blk_mq_tags_cpumask(struct blk_mq_tags *tags); | 204 | struct cpumask *blk_mq_tags_cpumask(struct blk_mq_tags *tags); |
201 | 205 | ||
@@ -243,6 +247,7 @@ void blk_mq_tagset_busy_iter(struct blk_mq_tag_set *tagset, | |||
243 | void blk_mq_freeze_queue(struct request_queue *q); | 247 | void blk_mq_freeze_queue(struct request_queue *q); |
244 | void blk_mq_unfreeze_queue(struct request_queue *q); | 248 | void blk_mq_unfreeze_queue(struct request_queue *q); |
245 | void blk_mq_freeze_queue_start(struct request_queue *q); | 249 | void blk_mq_freeze_queue_start(struct request_queue *q); |
250 | int blk_mq_reinit_tagset(struct blk_mq_tag_set *set); | ||
246 | 251 | ||
247 | void blk_mq_update_nr_hw_queues(struct blk_mq_tag_set *set, int nr_hw_queues); | 252 | void blk_mq_update_nr_hw_queues(struct blk_mq_tag_set *set, int nr_hw_queues); |
248 | 253 | ||