Re: [PATCH v3 2/2] dm: allow device-mapper to operate without dax support

From: Mike Snitzer
Date: Mon Sep 11 2017 - 10:41:24 EST

On Wed, Aug 02 2017 at 1:58pm -0400,
Dan Williams <dan.j.williams@xxxxxxxxx> wrote:

> Rather than have device-mapper directly 'select DAX', let the fact that
> BLK_DEV_PMEM selects dax act as a gate for the device-mapper dax
> support. We arrange for all the dax core routines to compile to nops
> when CONFIG_DAX=n. With that in place we can simply handle the
> alloc_dax() error as expected and ifdef out the other device-mapper-dax
> support code.
> Now, if dax is provided by a leaf driver that driver may only arrange to
> compile the dax core as a module. Since device-mapper dax support is
> consumed by the always-built-in portion of the device-mapper
> implementation we need to upgrade from DAX=m to DAX=y.

I applied the patches and then got nervous once I dug in.. this last
paragraph makes little sense to me. "the always-built-in portion of the
device-mapper implementation" is why: DM core can happily be compiled as
a module (dm-mod.ko).

And I'm not sure why you're referencing DAX related
drivers/md/dm-builtin.c, why are you attachd DM's DAX support to that?
I'm not seeing where that is actually happening.

I don't see why DM's support for DAX would need to force DAX to be
builtin rather than just a module.

Sorry I didn't get around to looking at this until now, but it seems you
went wrong along the way? Or maybe I'm just missing something?