I really don't like these IS_DEVDAX and IS_FSDAX flags. We should
stop pretending DAX is a global per-inode choice and get rid of these
magic flags entirely. So please convert the instances inside the
various file systems to checking the file system mount options instead.
For the core ones we'll need to differentiate:
- the checks in generic_file_read_iter and __generic_file_write_iter
seem to not be needed anymore at all since we stopped abusing the
direct I/O code for DAX, so they should probably be removed.
- io_is_direct is a weird check and should probably just go away,
as there is not point in always setting IOCB_DIRECT for DAX I/O
- fadvise should either become a file op, or a flag on the inode that
fadvice is supported instead of the nasty noop_backing_dev_info or
- Ditto for madvise
- vma_is_dax should probably be replaced with a VMA flag.
- thp_get_unmapped_area I don't really understand why we have a dax
- dax_mapping will be much harder to sort out.
But all these DAX flags certainly look like a major hodge podge to me.