Re: regression introduced by "block: Add support for DAX reads/writes to block devices"

Linda Knippers
2015-08-13T16:42:36Z

On 8/13/2015 10:00 AM, Jeff Moyer wrote:
> Boaz Harrosh <boaz@plexistor.com> writes:
>
>> On 08/13/2015 12:11 AM, Jeff Moyer wrote:
>>> Boaz Harrosh <boaz@plexistor.com> writes:
>>>
>>>> On 08/07/2015 11:41 PM, Jeff Moyer wrote:
>>>> <>
>>>>>
>>>>>> We need to cope with the case where the end of a partition isn't on a
>>>>>> page boundary though.
>>>>>
>>>>> Well, that's usually done by falling back to buffered I/O. I gave that
>>>>> a try and panicked the box. :) I'll keep looking into it, but probably
>>>>> won't have another patch until next week.
>>>>>
>>>>
>>>> lets slow down for a sec, please.
>>>>
>>>> We have all established that an unaligned partition start is BAD and not supported?
>>>
>>> No. Unaligned partitions on RAID arrays or 512e devices are bad because
>>> they result in suboptimal performance. They are most certainly still
>>> supported, though.
>>>
>>
>> What ?
>>
>> I meant for dax on pmem or brd. I meant that we *do not* support dax access
>> on an unaligned partition start. (None dax is perfectly supported)
>
> Sorry, I thought your statement was broader than that.
>
>> We did it this way because of the direct_access API that returns a pfn
>> with is PAGE_SIZE. We could introduce a pfn+offset but we thought it is
>> not worth it, and that dax should be page aligned for code simplicity
>
> I'd be fine with changing the persistent memory block device to only
> support 4k logical, 4k physical block size. That probably makes the
> most sense.

If that's what we want, the current patch doesn't do that.
https://lists.01.org/pipermail/linux-nvdimm/2015-July/001555.html

It causes the physical block size to be PAGE_SIZE but the
logical block size is still 512. However, the minimum_io_size
is now 4096 (same as physical block size, I assume). The
optimal_io_size is still 0. What does that mean?

Whatever we go with, we should do something because 4.2rc6 is still
broken, unable to create a xfs file system on a pmem device, ever
since the change to use DAX on block devices with O_DIRECT.

-- ljk
>
> Cheers,
> Jeff
>