On Thu, Mar 01, 2018 at 07:54:22PM -0800, Dan Williams wrote: > static inline bool vma_is_dax(struct vm_area_struct *vma) > { > - return vma->vm_file && IS_DAX(vma->vm_file->f_mapping->host); > + struct inode *inode; > + > + if (!vma->vm_file) > + return false; > + inode = file_inode(vma->vm_file); > + return IS_FSDAX(inode) || IS_DEVDAX(inode); If you look at the definition of IS_FSDAX and IS_DEVDAX this is going to evaluate into some bullshit code.