blk-mq: fix sparse warning on missed __percpu annotation
authorMing Lei <tom.leiming@gmail.com>
Tue, 3 Jun 2014 03:24:06 +0000 (11:24 +0800)
committerJens Axboe <axboe@fb.com>
Wed, 4 Jun 2014 03:04:39 +0000 (21:04 -0600)
'struct blk_mq_ctx' is  __percpu, so add the annotation
and fix the sparse warning reported from Fengguang:

[block:for-linus 2/3] block/blk-mq.h:75:16: sparse: incorrect
type in initializer (different address spaces)

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/blk-mq.c
include/linux/blkdev.h

index 43eb315..3bb4cfe 100644 (file)
@@ -1767,7 +1767,7 @@ static void blk_mq_add_queue_tag_set(struct blk_mq_tag_set *set,
 struct request_queue *blk_mq_init_queue(struct blk_mq_tag_set *set)
 {
        struct blk_mq_hw_ctx **hctxs;
-       struct blk_mq_ctx *ctx;
+       struct blk_mq_ctx __percpu *ctx;
        struct request_queue *q;
        unsigned int *map;
        int i;
index 8aba35f..5c6f836 100644 (file)
@@ -335,7 +335,7 @@ struct request_queue {
        unsigned int            *mq_map;
 
        /* sw queues */
-       struct blk_mq_ctx       *queue_ctx;
+       struct blk_mq_ctx __percpu      *queue_ctx;
        unsigned int            nr_queues;
 
        /* hw dispatch queues */