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

Jeff Moyer
2015-08-13T17:14:53Z

Linda Knippers <linda.knippers@hp.com> 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
optimal io size - device's preferred unit for streaming
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?

Cheers,
Jeff