Re: xfs_iomap.c:undefined reference to `put_dax'

From: Dan Williams
Date: Mon May 15 2017 - 10:05:09 EST


On Mon, May 15, 2017 at 6:59 AM, Arnd Bergmann <arnd@xxxxxxxx> wrote:
> On Mon, May 15, 2017 at 3:38 PM, Dan Williams <dan.j.williams@xxxxxxxxx> wrote:
>> On Mon, May 15, 2017 at 6:25 AM, Arnd Bergmann <arnd@xxxxxxxx> wrote:
>>> On Sun, May 14, 2017 at 1:21 AM, kbuild test robot
>>> <fengguang.wu@xxxxxxxxx> wrote:
>>>> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>>>> head: cd636458904a04de2349c728323c5d2af1203bdf
>>>> commit: ef51042472f55b325fd7f2b26a2e29fd89757234 block, dax: move "select DAX" from BLOCK to FS_DAX
>>>> date: 5 days ago
>>>> config: ia64-bigsur_defconfig (attached as .config)
>>>> compiler: ia64-linux-gcc (GCC) 6.2.0
>>>> reproduce:
>>>> wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>>>> chmod +x ~/bin/make.cross
>>>> git checkout ef51042472f55b325fd7f2b26a2e29fd89757234
>>>> # save the attached .config to linux build tree
>>>> make.cross ARCH=ia64
>>>>
>>>> All errors (new ones prefixed by >>):
>>>>
>>>> fs/built-in.o: In function `xfs_file_iomap_end':
>>>>>> xfs_iomap.c:(.text+0x2e3022): undefined reference to `put_dax'
>>>> fs/built-in.o: In function `xfs_file_iomap_begin':
>>>>>> xfs_iomap.c:(.text+0x2e4502): undefined reference to `dax_get_by_host'
>>>
>>> This is caused by CONFIG_DAX now being allowed to be '=m' while used by
>>> a built-in file system. This only happens for XFS at the moment though, as the
>>> other file systems check for CONFIG_FS_DAX already.
>>>
>>> I have a patch that I'm testing at the moment.
>>>
>>
>> Hi Arnd,
>>
>> I have this patch out for testing.
>>
>> https://patchwork.kernel.org/patch/9725515/
>
> That looks good for the file system parts, but what about drivers/md/dm.c,
> do you have another patch for that one? With just the one patch you
> quoted, that would break when dax_get_by_host() gets removed.
>

BLK_DEV_DM selects DAX so dax_get_by_host() should always be available.