Re: linux-next: build failure after merge of the block tree

From: Jens Axboe
Date: Mon Sep 19 2016 - 10:23:01 EST

On 09/19/2016 12:18 AM, Stephen Rothwell wrote:
Hi Jens,

After merging the block tree, today's linux-next build (powerpc
allnoconfig) failed like this:

In file included from block/blk-mq-pci.c:13:0:
include/linux/blk-mq.h:57:18: error: field 'kobj' has incomplete type
struct kobject kobj;
include/linux/blk-mq.h:121:2: error: unknown type name 'softirq_done_fn'
softirq_done_fn *complete;
include/linux/blk-mq.h: In function 'blk_mq_rq_from_pdu':
include/linux/blk-mq.h:253:22: error: invalid application of 'sizeof' to incomplete type 'struct request'
return pdu - sizeof(struct request);
include/linux/blk-mq.h: In function 'blk_mq_rq_to_pdu':
include/linux/blk-mq.h:257:2: error: invalid use of undefined type 'struct request'
return rq + 1;

Caused by commit

973c4e372c8f ("blk-mq: provide a default queue mapping for PCI device")

include/linux/blk-mq.h does not include all the headers files that it
depends on, and building block/blk-mq-pci.c should depend on CONFIG_BLOCK.

I applied this fix patch (the block/blk-mq-pci.c may not be becessary):

Added, thanks Stephen.

Jens Axboe