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

From: Linda Knippers
Date: Thu Aug 13 2015 - 13:52:20 EST


On 8/13/2015 1:14 PM, Jeff Moyer wrote:
> Linda Knippers <linda.knippers@xxxxxx> writes:
>
>>> 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?
>
> physical block size - device's internal block size
> logical block size - addressable unit

Right, but it's still reported as 512 and that doesn't work.

> optimal io size - device's preferred unit for streaming

So 0 is ok.

> minimum io size - deviceâs preferred minimum unit for random I/O
>
> See Martin Petersen's "Linux & Advanced Storage Interfaces" document for
> more information.
>
>> 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.
>
> We can change the block device to export logical/physical block sizes of
> PAGE_SIZE. However, when persistent memory support comes to platforms
> that support page sizes > 32k, xfs will again run into problems (Dave
> Chinner mentioned that xfs can't deal with logical block sizes >32k.)
> Arguably, you can use pmem and dax on such platforms using RAM today for
> testing. Do we care about breaking that?

I would think so. AARCH64 uses 64k pages today.

I think Documentation/filesystems/dax.txt could use a little update
too. It has a section "Implementation Tips for Block Driver Writers"
that makes it sound easy but now I wonder if it even works with the
example ram drivers. Should we be able to read any 512 byte
"sector"?

-- ljk
>
> Cheers,
> Jeff
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/