FYI, none of the Dax code even needs to ever touch the dio_count, as dax I/O can't be asynchronous, and we thus don't need it to protect against truncate. I'd suggest to remove it and then end_io callback from the DAX code entirely as a start and then move from there.
- Re: [PATCH v3 1/2] ext4: Pass in DIO_SKIP_DIO_COUNT flag... Waiman Long
- Re: [PATCH v3 1/2] ext4: Pass in DIO_SKIP_DIO_COUNT... Christoph Hellwig