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

From: Mark Brown
Date: Wed Dec 02 2015 - 11:19:57 EST


Hi Jens,

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

/home/broonie/next/next/drivers/nvme/host/lightnvm.c: In function 'nvme_nvm_identity':
/home/broonie/next/next/drivers/nvme/host/lightnvm.c:279:27: error: 'struct nvme_ns' has no member named 'dev'
struct nvme_dev *dev = ns->dev;
^
/home/broonie/next/next/drivers/nvme/host/lightnvm.c:292:32: error: dereferencing pointer to incomplete type 'struct nvme_dev'
ret = nvme_submit_sync_cmd(dev->admin_q, (struct nvme_command *)&c,
^
/home/broonie/next/next/drivers/nvme/host/lightnvm.c: In function 'nvme_nvm_get_l2p_tbl':
/home/broonie/next/next/drivers/nvme/host/lightnvm.c:317:27: error: 'struct nvme_ns' has no member named 'dev'
struct nvme_dev *dev = ns->dev;
^
/home/broonie/next/next/drivers/nvme/host/lightnvm.c:319:36: error: dereferencing pointer to incomplete type 'struct nvme_dev'
u32 len = queue_max_hw_sectors(dev->admin_q) << 9;
^
/home/broonie/next/next/drivers/nvme/host/lightnvm.c: In function 'nvme_nvm_get_bb_tbl':
/home/broonie/next/next/drivers/nvme/host/lightnvm.c:365:27: error: 'struct nvme_ns' has no member named 'dev'
struct nvme_dev *dev = ns->dev;
^
/home/broonie/next/next/drivers/nvme/host/lightnvm.c:379:32: error: dereferencing pointer to incomplete type 'struct nvme_dev'
ret = nvme_submit_sync_cmd(dev->admin_q, (struct nvme_command *)&c,
^
/home/broonie/next/next/drivers/nvme/host/lightnvm.c: In function 'nvme_nvm_set_bb_tbl':
/home/broonie/next/next/drivers/nvme/host/lightnvm.c:422:27: error: 'struct nvme_ns' has no member named 'dev'
struct nvme_dev *dev = ns->dev;
^
/home/broonie/next/next/drivers/nvme/host/lightnvm.c:432:32: error: dereferencing pointer to incomplete type 'struct nvme_dev'
ret = nvme_submit_sync_cmd(dev->admin_q, (struct nvme_command *)&c,
^
/home/broonie/next/next/drivers/nvme/host/lightnvm.c: In function 'nvme_nvm_create_dma_pool':
/home/broonie/next/next/drivers/nvme/host/lightnvm.c:521:27: error: 'struct nvme_ns' has no member named 'dev'
struct nvme_dev *dev = ns->dev;
^
/home/broonie/next/next/drivers/nvme/host/lightnvm.c:523:34: error: dereferencing pointer to incomplete type 'struct nvme_dev'
return dma_pool_create(name, dev->dev, PAGE_SIZE, PAGE_SIZE, 0);
^
/home/broonie/next/next/drivers/nvme/host/lightnvm.c: In function 'nvme_nvm_ns_supported':
/home/broonie/next/next/drivers/nvme/host/lightnvm.c:576:27: error: 'struct nvme_ns' has no member named 'dev'
struct nvme_dev *dev = ns->dev;
^
In file included from /home/broonie/next/next/include/linux/list.h:8:0,
from /home/broonie/next/next/include/linux/pci.h:25,
from /home/broonie/next/next/drivers/nvme/host/nvme.h:18,
from /home/broonie/next/next/drivers/nvme/host/lightnvm.c:23:
/home/broonie/next/next/drivers/nvme/host/lightnvm.c:577:39: error: dereferencing pointer to incomplete type 'struct nvme_dev'
struct pci_dev *pdev = to_pci_dev(dev->dev);
^
/home/broonie/next/next/include/linux/kernel.h:813:49: note: in definition of macro 'container_of'
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
^
/home/broonie/next/next/drivers/nvme/host/lightnvm.c:577:25: note: in expansion of macro 'to_pci_dev'
struct pci_dev *pdev = to_pci_dev(dev->dev);
^
/home/broonie/next/next/drivers/nvme/host/lightnvm.c: In function 'nvme_nvm_create_dma_pool':
/home/broonie/next/next/drivers/nvme/host/lightnvm.c:524:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/home/broonie/next/next/scripts/Makefile.build:258: recipe for target 'drivers/nvme/host/lightnvm.o' failed
make[4]: *** [drivers/nvme/host/lightnvm.o] Error 1

Caused by commit 1c63dc66580d4b (nvme: split a new struct nvme_ctrl out of
struct nvme_dev) which replaced dev in struct nvme_ns with ctrl without
updating this user. I used the block tree from the last -next build
(3f3a8a218c2f) instead.

Attachment: pgpO8N07G4WkC.pgp
Description: PGP signature