|
|
@@ -96,6 +96,7 @@ typedef int (init_request_fn)(void *, struct request *, unsigned int,
|
|
|
unsigned int, unsigned int);
|
|
|
typedef void (exit_request_fn)(void *, struct request *, unsigned int,
|
|
|
unsigned int);
|
|
|
+typedef int (reinit_request_fn)(void *, struct request *);
|
|
|
|
|
|
typedef void (busy_iter_fn)(struct blk_mq_hw_ctx *, struct request *, void *,
|
|
|
bool);
|
|
|
@@ -145,6 +146,7 @@ struct blk_mq_ops {
|
|
|
*/
|
|
|
init_request_fn *init_request;
|
|
|
exit_request_fn *exit_request;
|
|
|
+ reinit_request_fn *reinit_request;
|
|
|
};
|
|
|
|
|
|
enum {
|
|
|
@@ -245,6 +247,7 @@ void blk_mq_tagset_busy_iter(struct blk_mq_tag_set *tagset,
|
|
|
void blk_mq_freeze_queue(struct request_queue *q);
|
|
|
void blk_mq_unfreeze_queue(struct request_queue *q);
|
|
|
void blk_mq_freeze_queue_start(struct request_queue *q);
|
|
|
+int blk_mq_reinit_tagset(struct blk_mq_tag_set *set);
|
|
|
|
|
|
void blk_mq_update_nr_hw_queues(struct blk_mq_tag_set *set, int nr_hw_queues);
|
|
|
|