Re: [PATCH v5 17/21] libnvdimm: infrastructure for btt devices

Christoph Hellwig
2015-06-09T06:42:14Z

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.