diff mbox series

[v2] target: fix tcm_loop build errors when SCSI=m

Message ID 24dc30ca-b558-fb6c-d478-967dbfa887c4@infradead.org (mailing list archive)
State Superseded
Headers show
Series [v2] target: fix tcm_loop build errors when SCSI=m | expand

Commit Message

Randy Dunlap Aug. 6, 2018, 11:20 p.m. UTC
From: Randy Dunlap <rdunlap@infradead.org>

Fix build errors when CONFIG_SCSI=m and CONFIG_LOOPBACK_TARGET=y
by making LOOPBACK_TARGET depend on SCSI.

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'

Fixes: 3703b2c5d041 ("[SCSI] tcm_loop: Add multi-fabric Linux/SCSI LLD
       fabric module")

Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: "Nicholas A. Bellinger" <nab@linux-iscsi.org>
Cc: linux-scsi@vger.kernel.org
Cc: target-devel@vger.kernel.org
Cc: Bart Van Assche <bart.vanassche@wdc.com>
Cc: stable@vger.kernel.org # 2.6.39++
---
v2: add Fixes: and Cc:stable

 drivers/target/loopback/Kconfig |    1 +
 1 file changed, 1 insertion(+)

Comments

Bart Van Assche Aug. 6, 2018, 11:26 p.m. UTC | #1
On Mon, 2018-08-06 at 16:20 -0700, Randy Dunlap wrote:
> Fixes: 3703b2c5d041 ("[SCSI] tcm_loop: Add multi-fabric Linux/SCSI LLD
>        fabric module")

From drivers/target/Kconfig on Linus' master branch:

menuconfig TARGET_CORE
	tristate "Generic Target Core Mod (TCM) and ConfigFS Infrastructure"
	depends on SCSI && BLOCK

if TARGET_CORE
[ ... ]
source "drivers/target/loopback/Kconfig"
endif

In other words, the loopback driver already depends on SCSI. So I doubt that
this is a longstanding issue. Did you encounter this with Linus' master branch
or rather with linux-next?

Thanks,

Bart.
Randy Dunlap Aug. 6, 2018, 11:29 p.m. UTC | #2
On 08/06/2018 04:26 PM, Bart Van Assche wrote:
> On Mon, 2018-08-06 at 16:20 -0700, Randy Dunlap wrote:
>> Fixes: 3703b2c5d041 ("[SCSI] tcm_loop: Add multi-fabric Linux/SCSI LLD
>>        fabric module")
> 
> From drivers/target/Kconfig on Linus' master branch:
> 
> menuconfig TARGET_CORE
> 	tristate "Generic Target Core Mod (TCM) and ConfigFS Infrastructure"
> 	depends on SCSI && BLOCK
> 
> if TARGET_CORE
> [ ... ]
> source "drivers/target/loopback/Kconfig"
> endif
> 
> In other words, the loopback driver already depends on SCSI. So I doubt that
> this is a longstanding issue. Did you encounter this with Linus' master branch
> or rather with linux-next?

Darn.  Thanks for the info.

I encountered it in linux-next.  I'll dig deeper.
Bart Van Assche Aug. 6, 2018, 11:35 p.m. UTC | #3
On Mon, 2018-08-06 at 16:29 -0700, Randy Dunlap wrote:
> On 08/06/2018 04:26 PM, Bart Van Assche wrote:
> > On Mon, 2018-08-06 at 16:20 -0700, Randy Dunlap wrote:
> > > Fixes: 3703b2c5d041 ("[SCSI] tcm_loop: Add multi-fabric Linux/SCSI LLD
> > >        fabric module")
> > 
> > From drivers/target/Kconfig on Linus' master branch:
> > 
> > menuconfig TARGET_CORE
> > 	tristate "Generic Target Core Mod (TCM) and ConfigFS Infrastructure"
> > 	depends on SCSI && BLOCK
> > 
> > if TARGET_CORE
> > [ ... ]
> > source "drivers/target/loopback/Kconfig"
> > endif
> > 
> > In other words, the loopback driver already depends on SCSI. So I doubt that
> > this is a longstanding issue. Did you encounter this with Linus' master branch
> > or rather with linux-next?
> 
> Darn.  Thanks for the info.
> 
> I encountered it in linux-next.  I'll dig deeper.

This patch series may be what you are looking for: "[PATCH v2 0/9] block:
Consolidate scsi sense buffer usage" (https://lkml.org/lkml/2018/7/31/829).

Bart.
Randy Dunlap Aug. 6, 2018, 11:36 p.m. UTC | #4
On 08/06/2018 04:29 PM, Randy Dunlap wrote:
> On 08/06/2018 04:26 PM, Bart Van Assche wrote:
>> On Mon, 2018-08-06 at 16:20 -0700, Randy Dunlap wrote:
>>> Fixes: 3703b2c5d041 ("[SCSI] tcm_loop: Add multi-fabric Linux/SCSI LLD
>>>        fabric module")
>>
>> From drivers/target/Kconfig on Linus' master branch:
>>
>> menuconfig TARGET_CORE
>> 	tristate "Generic Target Core Mod (TCM) and ConfigFS Infrastructure"
>> 	depends on SCSI && BLOCK
>>
>> if TARGET_CORE
>> [ ... ]
>> source "drivers/target/loopback/Kconfig"
>> endif
>>
>> In other words, the loopback driver already depends on SCSI. So I doubt that
>> this is a longstanding issue. Did you encounter this with Linus' master branch
>> or rather with linux-next?
> 
> Darn.  Thanks for the info.
> 
> I encountered it in linux-next.  I'll dig deeper.

For TARGET_CORE, the depends on SCSI has been removed in linux-next.
That allows the kconfig to go sideways.
diff mbox series

Patch

--- linux-next-20180806.orig/drivers/target/loopback/Kconfig
+++ linux-next-20180806/drivers/target/loopback/Kconfig
@@ -1,5 +1,6 @@ 
 config LOOPBACK_TARGET
 	tristate "TCM Virtual SAS target and Linux/SCSI LDD fabric loopback module"
+	depends on SCSI
 	help
 	  Say Y here to enable the TCM Virtual SAS target and Linux/SCSI LLD
 	  fabric loopback module.