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

From: Dan Williams
Date: Mon Jun 13 2016 - 20:02:44 EST


On Mon, Jun 13, 2016 at 4:59 PM, Kani, Toshimitsu <toshi.kani@xxxxxxx> wrote:
> On Mon, 2016-06-13 at 16:18 -0700, Dan Williams wrote:
>> Thanks Toshi!
>>
>> On Mon, Jun 13, 2016 at 3:21 PM, 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.
>>
>> I don't mind this, but it seems a policy decision that the kernel does
>> not need to make. A sufficiently sophisticated user could cope with
>> DAX being available at varying LBAs. Would it be sufficient to move
>> this policy decision to userspace tooling?
>
> I think this is a kernel restriction. When a block device is declared as
> DAX capable, it should mean that the whole device is DAX capable. So, I
> think we need to assure the same to a mapped device.

Hmm, but we already violate this with badblocks. The device is DAX
capable, but certain LBAs will return an error if direct_access is
attempted.