Re: [PATCH v2 4/9] target: don't depend on SCSI

From: Randy Dunlap
Date: Mon Aug 06 2018 - 19:39:12 EST


On 07/31/2018 12:51 PM, Kees Cook wrote:
> From: Christoph Hellwig <hch@xxxxxx>
>
> The core target code only needs code from scsi_common.c, which is now
> separately selectable.
>
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>
> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
> ---
> drivers/target/Kconfig | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/target/Kconfig b/drivers/target/Kconfig
> index 4c44d7bed01a..cb6f32ce7de8 100644
> --- a/drivers/target/Kconfig
> +++ b/drivers/target/Kconfig
> @@ -1,10 +1,10 @@
>
> menuconfig TARGET_CORE
> tristate "Generic Target Core Mod (TCM) and ConfigFS Infrastructure"
> - depends on SCSI && BLOCK
> + depends on BLOCK
> select CONFIGFS_FS
> select CRC_T10DIF
> - select BLK_SCSI_REQUEST # only for scsi_command_size_tbl..
> + select BLK_SCSI_REQUEST
> select SGL_ALLOC
> default n
> help
> @@ -29,6 +29,7 @@ config TCM_FILEIO
>
> config TCM_PSCSI
> tristate "TCM/pSCSI Subsystem Plugin for Linux/SCSI"
> + depends on SCSI
> help
> Say Y here to enable the TCM/pSCSI subsystem plugin for non-buffered
> passthrough access to Linux/SCSI device
>

Hi,

This patch causes build errors in linux-next-20180806 when SCSI=m and
LOOPBACK_TARGET=y.

drivers/target/loopback/tcm_loop.o: In function `tcm_loop_port_link':
tcm_loop.c:(.text+0x445): undefined reference to `scsi_add_device'
drivers/target/loopback/tcm_loop.o: In function `tcm_loop_driver_remove':
tcm_loop.c:(.text+0x55c): undefined reference to `scsi_remove_host'
tcm_loop.c:(.text+0x564): undefined reference to `scsi_host_put'
drivers/target/loopback/tcm_loop.o: In function `tcm_loop_submission_work':
tcm_loop.c:(.text+0x7c4): undefined reference to `scmd_printk'
drivers/target/loopback/tcm_loop.o: In function `tcm_loop_driver_probe':
tcm_loop.c:(.text+0x7fb): undefined reference to `scsi_host_alloc'
tcm_loop.c:(.text+0x85b): undefined reference to `scsi_add_host_with_dma'
tcm_loop.c:(.text+0x896): undefined reference to `scsi_host_put'
drivers/target/loopback/tcm_loop.o: In function `tcm_loop_port_unlink':
tcm_loop.c:(.text+0x962): undefined reference to `scsi_device_lookup'
tcm_loop.c:(.text+0x972): undefined reference to `scsi_remove_device'
tcm_loop.c:(.text+0x97a): undefined reference to `scsi_device_put'
drivers/target/loopback/tcm_loop.o:(.data+0x210): undefined reference to `scsi_change_queue_depth'


--
~Randy