[dm-devel] Question about which types of dm need to support DAX

Yang, Xiao/杨 晓 yangx.jy at fujitsu.com
Sat Oct 15 08:27:59 UTC 2022


On 2022/9/27 22:38, Jeff Moyer wrote:
> "Yang, Xiao/杨 晓" <yangx.jy at fujitsu.com> writes:
> 
>> Hi Jeff,
>>
>> Thanks a lot for your reply.
>>
>> On 2022/9/27 3:52, Jeff Moyer wrote:
>>> "Yang, Xiao/杨 晓" <yangx.jy at fujitsu.com> writes:
>>>
>>>> Hi Ross, Toshi, Jeff and others
>>>>
>>>> After reading the kernel patches[1][2][3] about dm, I think only three
>>>> types(linear, stripe and log-writes) of dm can support DAX now, right?
>>>
>>> Right.
>>>
>>>> I wonder why only three types of dm need to support DAX? Is there any
>>>> reason/history and use case?
>>>
>>> It was easy to add DAX support to those targets.  Note that if a target
>>> needs to intercept I/O, then it is fundamentally incompatible with DAX.
>>
>> How can I know which target needs to intercept I/O?
> 
> There's no better way than reading and understanding what each target
> does.

Hi Jeff,

After reading the code about thin provisioning target, thin provisioning 
target depends on DM_BUFIO kconfig which is designed to cache I/O. Is it 
what you said about "intercept I/O"? Perhaps, we have to drop DM_BUFIO 
for thin provisioning target if we want to make it support DAX.

Best Regards,
Xiao Yang

> 
>> Could you tell me why it is fundamentally incompatible with DAX?
> 
> DAX stands for direct access, and it is a mechanism by which a
> user-space process can perform I/O without going through the kernel.
> 
> -Jeff
> 



More information about the dm-devel mailing list