On Mon, Jun 01, 2015 at 08:15:41PM -0400, Dan Williams wrote:
Block devices from an nd bus, in addition to accepting "struct bio"
based requests, also have the capability to perform byte-aligned
accesses. By default only the bio/block interface is used. However, if
another driver can make effective use of the byte-aligned capability it
can claim/disable the block interface and use the byte-aligned "nd_io"
interface.
The BTT driver is the initial first consumer of this mechanism to allow
layering atomic sector update guarantees on top of nd_io capable
libnvdimm-block-devices, or their partitions.
As mentioned during the last time of the review the layering here
is complete broken. If you expose additional capabilities from a block
device do it at the block device level. That is enhance the rw_page
callback to allo byte sized access, add a capability flag on the queue,
etc.