Re: [PATCH] dm: fix DAX dependency

From: Dan Williams
Date: Wed Apr 04 2018 - 10:00:22 EST


On Wed, Apr 4, 2018 at 2:54 AM, Arnd Bergmann <arnd@xxxxxxxx> 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@xxxxxxxx>
> ---
> 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.