This series does the work needed to safely re-enable the XFS per-inode DAX flag. This includes fixes to make use of the DAX inode flag more safe and consistent, fixes to the read and write I/O path locking to make S_DAX transitions safe, and some code that prevents the DAX inode flag from transitioning when any mappings are set up. This series has passed my fstests regression testing both with and without DAX, and it also passes Christoph's regression test for the inode flag: https://www.spinics.net/lists/linux-xfs/msg10124.html My goal is to get feedback on this approach and on the XFS implementation, and then to do a similar implementation for ext4 based on my previous ext4 DAX inode flag patches: https://patchwork.kernel.org/patch/9939743/ These patches apply cleanly to v4.14-rc2. Ross Zwisler (7): xfs: always use DAX if mount option is used xfs: validate bdev support for DAX inode flag xfs: protect S_DAX transitions in XFS read path xfs: protect S_DAX transitions in XFS write path xfs: introduce xfs_is_dax_state_changing mm, fs: introduce file_operations->post_mmap() xfs: re-enable XFS per-inode DAX fs/xfs/xfs_file.c | 172 ++++++++++++++++++++++------------------------------- fs/xfs/xfs_ioctl.c | 47 ++++++++++++--- include/linux/fs.h | 1 + mm/mmap.c | 2 + 4 files changed, 114 insertions(+), 108 deletions(-) -- 2.9.5