tools headers UAPI: Sync linux/prctl.h with the kernel sources
[linux-2.6-microblaze.git] / block / blk-mq.h
index 3616453..9ce64bc 100644 (file)
@@ -187,17 +187,34 @@ unsigned int blk_mq_in_flight(struct request_queue *q,
 void blk_mq_in_flight_rw(struct request_queue *q, struct block_device *part,
                unsigned int inflight[2]);
 
-static inline void blk_mq_put_dispatch_budget(struct request_queue *q)
+static inline void blk_mq_put_dispatch_budget(struct request_queue *q,
+                                             int budget_token)
 {
        if (q->mq_ops->put_budget)
-               q->mq_ops->put_budget(q);
+               q->mq_ops->put_budget(q, budget_token);
 }
 
-static inline bool blk_mq_get_dispatch_budget(struct request_queue *q)
+static inline int blk_mq_get_dispatch_budget(struct request_queue *q)
 {
        if (q->mq_ops->get_budget)
                return q->mq_ops->get_budget(q);
-       return true;
+       return 0;
+}
+
+static inline void blk_mq_set_rq_budget_token(struct request *rq, int token)
+{
+       if (token < 0)
+               return;
+
+       if (rq->q->mq_ops->set_rq_budget_token)
+               rq->q->mq_ops->set_rq_budget_token(rq, token);
+}
+
+static inline int blk_mq_get_rq_budget_token(struct request *rq)
+{
+       if (rq->q->mq_ops->get_rq_budget_token)
+               return rq->q->mq_ops->get_rq_budget_token(rq);
+       return -1;
 }
 
 static inline void __blk_mq_inc_active_requests(struct blk_mq_hw_ctx *hctx)