Re: dm-writecache: fix compilation issue with !DAX

From: Dan Williams
Date: Tue May 29 2018 - 14:40:58 EST


On Tue, May 29, 2018 at 11:08 AM, Mike Snitzer <snitzer@xxxxxxxxxx> wrote:
> On Tue, May 29 2018 at 1:52pm -0400,
> Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> wrote:
>
>> As reported by Arnd (https://lkml.org/lkml/2018/5/28/1697), dm-writecache
>> will fail with link errors in configs where DAX isn't present:
>>
>> drivers/md/dm-writecache.o: In function `writecache_ctr':
>> dm-writecache.c:(.text+0x1fdc): undefined reference to `dax_read_lock'
>> dm-writecache.c:(.text+0x2004): undefined reference to `dax_direct_access'
>> dm-writecache.c:(.text+0x21cc): undefined reference to `dax_read_unlock'
>>
>> Fix this by following the lead of the other DM modules and wrapping calls
>> to the generic DAX code in #if IS_ENABLED(CONFIG_DAX_DRIVER) blocks.
>>
>> We also expand the failure case for the 'p' (persistent memory) flag so
>> that fails on both architectures that don't support persistent memory and
>> on kernels that don't have DAX support configured. This prevents us from
>> ever hitting the BUG() in the persistent_memory_claim() stub.
>>
>> Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx>
>> Reported-by: Arnd Bergmann <arnd@xxxxxxxx>
>
> Thanks, I've picked this up.

...I assume you're also going to let the 'pmem api' discussion resolve
before this all goes upstream?