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

From: Kani, Toshimitsu
Date: Tue Jun 21 2016 - 11:51:23 EST


On Tue, 2016-06-21 at 09:34 -0600, Kani, Toshimitsu wrote:
> On Tue, 2016-06-21 at 09:41 -0400, Mike Snitzer wrote:
> >
> > On Mon, Jun 20 2016 atÂÂ6:22pm -0400,
> > Mike Snitzer <snitzer@xxxxxxxxxx> wrote:
> > >
> > > On Mon, Jun 20 2016 atÂÂ5:28pm -0400,
> > > Kani, Toshimitsu <toshi.kani@xxxxxxx> wrote:
> > >
> Â:
> > >
> > > Looks good, I folded it in and tested it to work.ÂÂPushed to my 'wip'
> > > branch.
> > >
> > > No longer seeing any corruption in my test that was using partitions
> > > to span pmem devices with a dm-linear device.
> > >
> > > Jens, any chance you'd be open to picking up the first 2 patches in
> > > this series?ÂÂOr would you like to see them folded or something
> > > different?
> >
> > I'm now wondering if we'd be better off setting a new QUEUE_FLAG_DAX
> > rather than establish GENHD_FL_DAX on the genhd?
> >
> > It'd be quite a bit easier to allow upper layers (e.g. XFS and ext4) to
> > check for a queue flag.
>
> I think GENHD_FL_DAX is more appropriate since DAX does not use a request
> queue, except for protecting the underlining device being disabled while
> direct_access() is called (b2e0d1625e19). Â

Forgot to mention that there are bdev_dax_supported() and bdev_dax_capable()
interfaces that can be called from upper layers.ÂÂThey both call
bdev_direct_access() which checks GENHD_FL_DAX.

Thanks,
-Toshi

> About protecting direct_access, this patch assumes that the underlining
> device cannot be disabled until dtr() is called. ÂIs this correct? ÂIf
> not, I will need to callÂdax_map_atomic().
>
> Thanks,
> -ToshiÂ