Re: [PATCH 0/6] Support DAX for device-mapper dm-linear devices

From: Mike Snitzer
Date: Mon Jun 20 2016 - 14:20:15 EST


On Mon, Jun 13 2016 at 6:57pm -0400,
Mike Snitzer <snitzer@xxxxxxxxxx> wrote:

> On Mon, Jun 13 2016 at 6:21pm -0400,
> Toshi Kani <toshi.kani@xxxxxxx> wrote:
>
> > This patch-set adds DAX support to device-mapper dm-linear devices
> > used by LVM. It works with LVM commands as follows:
> > - Creation of a logical volume with all DAX capable devices (such
> > as pmem) sets the logical volume DAX capable as well.
> > - Once a logical volume is set to DAX capable, the volume may not
> > be extended with non-DAX capable devices.
> >
> > The direct_access interface is added to dm and dm-linear to map
> > a request to a target device.
> >
> > - Patch 1-2 introduce GENHD_FL_DAX flag to indicate DAX capability.
> > - Patch 3-4 add direct_access functions to dm and dm-linear.
> > - Patch 5-6 set GENHD_FL_DAX to dm when all targets are DAX capable.
> >
> > ---
> > Toshi Kani (6):
> > 1/6 genhd: Add GENHD_FL_DAX to gendisk flags
> > 2/6 block: Check GENHD_FL_DAX for DAX capability
> > 3/6 dm: Add dm_blk_direct_access() for mapped device
> > 4/6 dm-linear: Add linear_direct_access()
> > 5/6 dm, dm-linear: Add dax_supported to dm_target
> > 6/6 dm: Enable DAX support for mapper device
>
> Thanks a lot for doing this. I recently added it to my TODO so your
> patches come at a great time.
>
> I'll try to get to reviewing/testing your work by the end of this week.

I rebased your patches on linux-dm.git's 'for-next' (which includes what
I've already staged for the 4.8 merge window). And I folded/changed
some of the DM patches so that there are only 2 now (1 for DM core and 1
for dm-linear). Please see the 4 topmost commits in my 'wip' here:

http://git.kernel.org/cgit/linux/kernel/git/snitzer/linux.git/log/?h=wip

Feel free to pick these patches up to use as the basis for continued
work or re-posting of this set.. either that or I could post them as v2
on your behalf.

As for testing, I've verified that basic IO works to a pmem-based DM
linear device and that mixed table types are rejected as expected.

Mike