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

From: Jens Axboe <[email-masked]>
Date: Wed, 2 Dec 2015 14:07:34 -0700

On 12/02/2015 09:45 AM, Christoph Hellwig wrote:
> Looks like I didn't test with CONFIG_NVM enabled, and neither did
> the build bot.
>
> Most of this is really weird crazy shit in the lighnvm support, though.
>
> Struct nvme_ns is a structure for the NVM I/O command set, and it has
> no business poking into it.  Second this commit:
>
> commit 47b3115ae7b799be8b77b0f024215ad4f68d6460
> Author: Wenwei Tao <[email-masked]>
> Date:   Fri Nov 20 13:47:55 2015 +0100
>
>      nvme: lightnvm: use admin queues for admin cmds
>
> Does even more crazy stuff.  If a function gets a request_queue parameter
> passed it'd better use that and not look for another one.
>
> Quick patch below, but this code will need some more attention:

Christoph, for-4.5/nvme also fails if integrity isn't enabled:

   CC      drivers/nvme/host/core.o
drivers/nvme/host/core.c: In function ‘__nvme_submit_user_cmd’:
drivers/nvme/host/core.c:192:10: error: implicit declaration of function 
‘bio_integrity_alloc’ [-Werror=implicit-function-declaration]
     bip = bio_integrity_alloc(bio, GFP_KERNEL, 1);
           ^
drivers/nvme/host/core.c:192:8: warning: assignment makes pointer from 
integer without a cast [-Wint-conversion]
     bip = bio_integrity_alloc(bio, GFP_KERNEL, 1);
         ^
drivers/nvme/host/core.c:198:7: error: dereferencing pointer to 
incomplete type ‘struct bio_integrity_payload’
     bip->bip_iter.bi_size = meta_len;
        ^
drivers/nvme/host/core.c:201:10: error: implicit declaration of function 
‘bio_integrity_add_page’ [-Werror=implicit-function-declaration]
     ret = bio_integrity_add_page(bio, virt_to_page(meta),
           ^

-- 
Jens Axboe