linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] dm: fix DAX dependency
@ 2018-04-04  9:54 Arnd Bergmann
  2018-04-04 13:43 ` Mike Snitzer
  2018-04-04 14:00 ` [PATCH] " Dan Williams
  0 siblings, 2 replies; 3+ messages in thread
From: Arnd Bergmann @ 2018-04-04  9:54 UTC (permalink / raw)
  To: Dan Williams, Alasdair Kergon, Mike Snitzer, dm-devel, Shaohua Li
  Cc: Arnd Bergmann, linux-raid, linux-kernel

Building device mapper with CONFIG_DAX=m now results in a link error:

drivers/md/dm.o: In function `dm_put_table_device':
dm.c:(.text+0x33c): undefined reference to `put_dax'
drivers/md/dm.o: In function `cleanup_mapped_device':
dm.c:(.text+0x1054): undefined reference to `kill_dax'
dm.c:(.text+0x105c): undefined reference to `put_dax'
drivers/md/dm.o: In function `dm_get_table_device':
dm.c:(.text+0x2744): undefined reference to `dax_get_by_host'
drivers/md/dm-table.o: In function `device_dax_write_cache_enabled':
dm-table.c:(.text+0x1030): undefined reference to `dax_write_cache_enabled'
drivers/md/dm-table.o: In function `dm_table_set_restrictions':
dm-table.c:(.text+0x29b8): undefined reference to `dax_write_cache'

This adds a dependency that prevents the invalid configuration, allowing
a built-in device mapper only if DAX is either built-in as well, or
completely disabled.

Fixes: 4de1c562f7e9 ("dax, dm: allow device-mapper to operate without dax support")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
The regression only showed up in linux-next at the start of the merge
window. Any idea what happened?
---
 drivers/md/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/md/Kconfig b/drivers/md/Kconfig
index 49287135b86c..5e5a47c5ff82 100644
--- a/drivers/md/Kconfig
+++ b/drivers/md/Kconfig
@@ -200,6 +200,7 @@ config BLK_DEV_DM_BUILTIN
 
 config BLK_DEV_DM
 	tristate "Device mapper support"
+	depends on DAX || DAX=n
 	select BLK_DEV_DM_BUILTIN
 	---help---
 	  Device-mapper is a low level volume manager.  It works by allowing
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: dm: fix DAX dependency
  2018-04-04  9:54 [PATCH] dm: fix DAX dependency Arnd Bergmann
@ 2018-04-04 13:43 ` Mike Snitzer
  2018-04-04 14:00 ` [PATCH] " Dan Williams
  1 sibling, 0 replies; 3+ messages in thread
From: Mike Snitzer @ 2018-04-04 13:43 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Dan Williams, Alasdair Kergon, dm-devel, Shaohua Li, linux-raid,
	linux-kernel

On Wed, Apr 04 2018 at  5:54am -0400,
Arnd Bergmann <arnd@arndb.de> wrote:

> Building device mapper with CONFIG_DAX=m now results in a link error:
> 
> drivers/md/dm.o: In function `dm_put_table_device':
> dm.c:(.text+0x33c): undefined reference to `put_dax'
> drivers/md/dm.o: In function `cleanup_mapped_device':
> dm.c:(.text+0x1054): undefined reference to `kill_dax'
> dm.c:(.text+0x105c): undefined reference to `put_dax'
> drivers/md/dm.o: In function `dm_get_table_device':
> dm.c:(.text+0x2744): undefined reference to `dax_get_by_host'
> drivers/md/dm-table.o: In function `device_dax_write_cache_enabled':
> dm-table.c:(.text+0x1030): undefined reference to `dax_write_cache_enabled'
> drivers/md/dm-table.o: In function `dm_table_set_restrictions':
> dm-table.c:(.text+0x29b8): undefined reference to `dax_write_cache'
> 
> This adds a dependency that prevents the invalid configuration, allowing
> a built-in device mapper only if DAX is either built-in as well, or
> completely disabled.
> 
> Fixes: 4de1c562f7e9 ("dax, dm: allow device-mapper to operate without dax support")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> The regression only showed up in linux-next at the start of the merge
> window. Any idea what happened?
> ---
>  drivers/md/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/md/Kconfig b/drivers/md/Kconfig
> index 49287135b86c..5e5a47c5ff82 100644
> --- a/drivers/md/Kconfig
> +++ b/drivers/md/Kconfig
> @@ -200,6 +200,7 @@ config BLK_DEV_DM_BUILTIN
>  
>  config BLK_DEV_DM
>  	tristate "Device mapper support"
> +	depends on DAX || DAX=n
>  	select BLK_DEV_DM_BUILTIN
>  	---help---
>  	  Device-mapper is a low level volume manager.  It works by allowing
> -- 
> 2.9.0
> 

Seems fine, CONFIG_DAX=m was an oversight in commit 4de1c562f7e9

Dan, do you want to just fold this into that original commit?  Either
way, please feel free to pick this up.

Thanks Arnd.

Reviewed-by: Mike Snitzer <snitzer@redhat.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] dm: fix DAX dependency
  2018-04-04  9:54 [PATCH] dm: fix DAX dependency Arnd Bergmann
  2018-04-04 13:43 ` Mike Snitzer
@ 2018-04-04 14:00 ` Dan Williams
  1 sibling, 0 replies; 3+ messages in thread
From: Dan Williams @ 2018-04-04 14:00 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Alasdair Kergon, Mike Snitzer, device-mapper development,
	Shaohua Li, linux-raid, Linux Kernel Mailing List

On Wed, Apr 4, 2018 at 2:54 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> Building device mapper with CONFIG_DAX=m now results in a link error:
>
> drivers/md/dm.o: In function `dm_put_table_device':
> dm.c:(.text+0x33c): undefined reference to `put_dax'
> drivers/md/dm.o: In function `cleanup_mapped_device':
> dm.c:(.text+0x1054): undefined reference to `kill_dax'
> dm.c:(.text+0x105c): undefined reference to `put_dax'
> drivers/md/dm.o: In function `dm_get_table_device':
> dm.c:(.text+0x2744): undefined reference to `dax_get_by_host'
> drivers/md/dm-table.o: In function `device_dax_write_cache_enabled':
> dm-table.c:(.text+0x1030): undefined reference to `dax_write_cache_enabled'
> drivers/md/dm-table.o: In function `dm_table_set_restrictions':
> dm-table.c:(.text+0x29b8): undefined reference to `dax_write_cache'
>
> This adds a dependency that prevents the invalid configuration, allowing
> a built-in device mapper only if DAX is either built-in as well, or
> completely disabled.
>
> Fixes: 4de1c562f7e9 ("dax, dm: allow device-mapper to operate without dax support")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> The regression only showed up in linux-next at the start of the merge
> window. Any idea what happened?

I had some larger reworks of dax pending in -next until I got a late
report of a UML build error. Investigating that made me realize that I
missed the device-mapper dax support in those dax reworks, I started
pulling in late changes. However, this wider rework is to feel too
late for 4.17...

Thanks for the fix, I'll get it folded in and reevaluate what bits are
still viable / tested enough to push at this stage.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-04-04 14:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-04  9:54 [PATCH] dm: fix DAX dependency Arnd Bergmann
2018-04-04 13:43 ` Mike Snitzer
2018-04-04 14:00 ` [PATCH] " Dan Williams

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).