diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/blk-mq.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/include/linux/blk-mq.h b/include/linux/blk-mq.h index 7aec86127335..8210e8797c12 100644 --- a/include/linux/blk-mq.h +++ b/include/linux/blk-mq.h | |||
| @@ -164,6 +164,8 @@ enum { | |||
| 164 | << BLK_MQ_F_ALLOC_POLICY_START_BIT) | 164 | << BLK_MQ_F_ALLOC_POLICY_START_BIT) |
| 165 | 165 | ||
| 166 | struct request_queue *blk_mq_init_queue(struct blk_mq_tag_set *); | 166 | struct request_queue *blk_mq_init_queue(struct blk_mq_tag_set *); |
| 167 | struct request_queue *blk_mq_init_allocated_queue(struct blk_mq_tag_set *set, | ||
| 168 | struct request_queue *q); | ||
| 167 | void blk_mq_finish_init(struct request_queue *q); | 169 | void blk_mq_finish_init(struct request_queue *q); |
| 168 | int blk_mq_register_disk(struct gendisk *); | 170 | int blk_mq_register_disk(struct gendisk *); |
| 169 | void blk_mq_unregister_disk(struct gendisk *); | 171 | void blk_mq_unregister_disk(struct gendisk *); |
| @@ -218,6 +220,7 @@ void blk_mq_start_hw_queue(struct blk_mq_hw_ctx *hctx); | |||
| 218 | void blk_mq_stop_hw_queues(struct request_queue *q); | 220 | void blk_mq_stop_hw_queues(struct request_queue *q); |
| 219 | void blk_mq_start_hw_queues(struct request_queue *q); | 221 | void blk_mq_start_hw_queues(struct request_queue *q); |
| 220 | void blk_mq_start_stopped_hw_queues(struct request_queue *q, bool async); | 222 | void blk_mq_start_stopped_hw_queues(struct request_queue *q, bool async); |
| 223 | void blk_mq_run_hw_queues(struct request_queue *q, bool async); | ||
| 221 | void blk_mq_delay_queue(struct blk_mq_hw_ctx *hctx, unsigned long msecs); | 224 | void blk_mq_delay_queue(struct blk_mq_hw_ctx *hctx, unsigned long msecs); |
| 222 | void blk_mq_tag_busy_iter(struct blk_mq_hw_ctx *hctx, busy_iter_fn *fn, | 225 | void blk_mq_tag_busy_iter(struct blk_mq_hw_ctx *hctx, busy_iter_fn *fn, |
| 223 | void *priv); | 226 | void *priv); |
| @@ -227,7 +230,7 @@ void blk_mq_freeze_queue_start(struct request_queue *q); | |||
| 227 | 230 | ||
| 228 | /* | 231 | /* |
| 229 | * Driver command data is immediately after the request. So subtract request | 232 | * Driver command data is immediately after the request. So subtract request |
| 230 | * size to get back to the original request. | 233 | * size to get back to the original request, add request size to get the PDU. |
| 231 | */ | 234 | */ |
| 232 | static inline struct request *blk_mq_rq_from_pdu(void *pdu) | 235 | static inline struct request *blk_mq_rq_from_pdu(void *pdu) |
| 233 | { | 236 | { |
| @@ -235,7 +238,7 @@ static inline struct request *blk_mq_rq_from_pdu(void *pdu) | |||
| 235 | } | 238 | } |
| 236 | static inline void *blk_mq_rq_to_pdu(struct request *rq) | 239 | static inline void *blk_mq_rq_to_pdu(struct request *rq) |
| 237 | { | 240 | { |
| 238 | return (void *) rq + sizeof(*rq); | 241 | return rq + 1; |
| 239 | } | 242 | } |
| 240 | 243 | ||
| 241 | #define queue_for_each_hw_ctx(q, hctx, i) \ | 244 | #define queue_for_each_hw_ctx(q, hctx, i) \ |
