blk-mq: cleanup blk_mq_rq_to_pdu()
authorJens Axboe <axboe@fb.com>
Thu, 9 Apr 2015 21:54:05 +0000 (15:54 -0600)
committerJens Axboe <axboe@fb.com>
Thu, 9 Apr 2015 21:54:05 +0000 (15:54 -0600)
Casting to void and adding the size of the request is "shit code" and
only a "crazy monkey on crack" would write that. So lets clean it up.

Signed-off-by: Jens Axboe <axboe@fb.com>
include/linux/blk-mq.h

index ebfe707cf722f1744671c0bcc1e9c3c31d3253fe..8210e8797c123043474b39b1efc1a33c3d0a6201 100644 (file)
@@ -230,7 +230,7 @@ void blk_mq_freeze_queue_start(struct request_queue *q);
 
 /*
  * Driver command data is immediately after the request. So subtract request
- * size to get back to the original request.
+ * size to get back to the original request, add request size to get the PDU.
  */
 static inline struct request *blk_mq_rq_from_pdu(void *pdu)
 {
@@ -238,7 +238,7 @@ static inline struct request *blk_mq_rq_from_pdu(void *pdu)
 }
 static inline void *blk_mq_rq_to_pdu(struct request *rq)
 {
-       return (void *) rq + sizeof(*rq);
+       return rq + 1;
 }
 
 #define queue_for_each_hw_ctx(q, hctx, i)                              \