nvme-loop: fix nvme-loop Kconfig dependencies
authorArnd Bergmann <arnd@arndb.de>
Tue, 12 Jul 2016 15:36:40 +0000 (08:36 -0700)
committerJens Axboe <axboe@fb.com>
Tue, 12 Jul 2016 15:36:40 +0000 (08:36 -0700)
I ran into the same problem on NVME_TARGET_RDMA now,
which otherwise needs dependencies on both CONFIG_BLOCK and
CONFIGFS_FS:

    warning: (NVME_TARGET_LOOP && NVME_TARGET_RDMA) selects NVME_TARGET which has unmet direct dependencies (BLOCK && CONFIGFS_FS)
    0xA002B368 Mon Jul 11 18:00:45 CEST 2016 failed
    In file included from ../drivers/nvme/target/core.c:16:0:
    drivers/nvme/target/nvmet.h:222:14: error: field 'inline_bio' has incomplete type
      struct bio  inline_bio;
                  ^~~~~~~~~~
    drivers/nvme/target/core.c: In function 'nvmet_async_event_work':
    drivers/nvme/target/core.c:98:3: error: implicit declaration of function 'kfree' [-Werror=implicit-function-declaration]
       kfree(aen);
       ^~~~~
    ../drivers/nvme/target/core.c: In function 'nvmet_ns_enable':
    ../drivers/nvme/target/core.c:269:13: error: implicit declaration of function 'blkdev_get_by_path' [-Werror=implicit-function-declaration]
      ns->bdev = blkdev_get_by_path(ns->device_path, FMODE_READ | FMODE_WRITE,

Folding in my patch below should address that too.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/nvme/target/Kconfig

index 0be9e3d4c352c82b41b661d7d7f68504289ee63e..a5c31cbeb4815efe58f8b5ff60a009ea97c62d31 100644 (file)
@@ -16,8 +16,7 @@ config NVME_TARGET
 config NVME_TARGET_LOOP
        tristate "NVMe loopback device support"
        depends on BLK_DEV_NVME
-       depends on CONFIGFS_FS
-       select NVME_TARGET
+       depends on NVME_TARGET
        select NVME_FABRICS
        select SG_POOL
        help
@@ -29,7 +28,7 @@ config NVME_TARGET_LOOP
 config NVME_TARGET_RDMA
        tristate "NVMe over Fabrics RDMA target support"
        depends on INFINIBAND
-       select NVME_TARGET
+       depends on NVME_TARGET
        help
          This enables the NVMe RDMA target support, which allows exporting NVMe
          devices over RDMA.