On Wed, Aug 21, 2019 at 01:57:02PM -0400, Vivek Goyal wrote:
From: Stefan Hajnoczi <stefanha(a)redhat.com>
Although struct dax_device itself is not tied to a block device, some
DAX code assumes there is a block device. Make block devices optional
by allowing bdev to be NULL in commonly used DAX APIs.
When there is no block device:
* Skip the partition offset calculation in bdev_dax_pgoff()
* Skip the blkdev_issue_zeroout() optimization
Note that more block device assumptions remain but I haven't reach those
code paths yet.
I think this should be split into two patches. For bdev_dax_pgoff
I'd much rather have the partition offset if there is on in the daxdev
somehow so that we can get rid of the block device entirely.
Similarly for dax_range_is_aligned I'd rather have a pure dax way
to offload zeroing rather than this bdev hack.
In the long run I'd really like to make the bdev vs daxdev in iomap a
union instead of having to carry both around.