On Wed, Feb 05, 2020 at 04:40:44PM -0800, Dan Williams wrote: > > I don't have any reason not to pass phys_addr_t. If that sounds better, > > will make changes. > > The problem is device-mapper. That wants to use offset to route > through the map to the leaf device. If it weren't for the firmware > communication requirement you could do: > > dax_direct_access(...) > generic_dax_zero_page_range(...) > > ...but as long as the firmware error clearing path is required I think > we need to do pass the pgoff through the interface and do the pgoff to > virt / phys translation inside the ops handler. Maybe phys_addr_t was the wrong type - but why do we split the offset into the block device argument into a pgoff and offset into page instead of a single 64-bit value?