Commit 833542b3 authored by Gerald Schaefer's avatar Gerald Schaefer Committed by Heiko Carstens
Browse files

s390/dcssblk: Fix build error with CONFIG_DAX=m and CONFIG_DCSSBLK=y



After commit 653d7825 ("dcssblk: mark DAX broken, remove FS_DAX_LIMITED
support") moved the "select DAX" from config DCSSBLK to the new config
DCSSBLK_DAX, randconfig tests could result in build errors like this:

s390-linux-ld: drivers/s390/block/dcssblk.o: in function `dcssblk_shared_store':
drivers/s390/block/dcssblk.c:417: undefined reference to `kill_dax'
s390-linux-ld: drivers/s390/block/dcssblk.c:418: undefined reference to `put_dax'

This is because it's now possible to have CONFIG_DCSSBLK=y, but CONFIG_DAX=m.
Fix this by adding "depends on DAX || DAX=n" to config DCSSBLK, to make it
explicit that we want either no DAX, or the same "y/m" for both config DAX
and DCSSBLK, similar to config BLK_DEV_DM.

This also requires removing the "select DAX" from config DCSSBLK_DAX, or
else there would be a recursive dependency detected. DCSSBLK_DAX is marked
as BROKEN at the moment, and won't work well with DAX anyway, so it doesn't
really matter if it is selected.

Fixes: 653d7825 ("dcssblk: mark DAX broken, remove FS_DAX_LIMITED support")
Reported-by: default avatarkernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202504291604.pvjonhWX-lkp@intel.com/


Signed-off-by: default avatarGerald Schaefer <gerald.schaefer@linux.ibm.com>
Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
parent ae952eea
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@ comment "S/390 block device drivers"
config DCSSBLK
	def_tristate m
	prompt "DCSSBLK support"
	depends on S390 && BLOCK
	depends on S390 && BLOCK && (DAX || DAX=n)
	help
	  Support for dcss block device

@@ -14,7 +14,6 @@ config DCSSBLK_DAX
	depends on DCSSBLK
	# requires S390 ZONE_DEVICE support
	depends on BROKEN
	select DAX
	prompt "DCSSBLK DAX support"
	help
	  Enable DAX operation for the dcss block device