[PATCH v2 00/11] DAX fsynx/msync support

From: Ross Zwisler
Date: Fri Nov 13 2015 - 19:07:10 EST


This patch series adds support for fsync/msync to DAX.

Patches 1 through 7 add various utilities that the DAX code will eventually
need, and the DAX code itself is added by patch 8. Patches 9-11 update the
three filesystems that currently support DAX, ext2, ext4 and XFS, to use
the new DAX fsync/msync code.

These patches build on the recent DAX locking changes from Dave Chinner,
Jan Kara and myself. Dave's changes for XFS and my changes for ext2 have
been merged in the v4.4 window, but Jan's are still unmerged. You can grab
them here:

http://www.spinics.net/lists/linux-ext4/msg49951.html

Ross Zwisler (11):
pmem: add wb_cache_pmem() to the PMEM API
mm: add pmd_mkclean()
pmem: enable REQ_FUA/REQ_FLUSH handling
dax: support dirty DAX entries in radix tree
mm: add follow_pte_pmd()
mm: add pgoff_mkclean()
mm: add find_get_entries_tag()
dax: add support for fsync/sync
ext2: add support for DAX fsync/msync
ext4: add support for DAX fsync/msync
xfs: add support for DAX fsync/msync

arch/x86/include/asm/pgtable.h | 5 ++
arch/x86/include/asm/pmem.h | 11 ++--
drivers/nvdimm/pmem.c | 3 +-
fs/block_dev.c | 3 +-
fs/dax.c | 140 +++++++++++++++++++++++++++++++++++++++--
fs/ext2/file.c | 14 ++++-
fs/ext4/file.c | 4 +-
fs/ext4/fsync.c | 12 +++-
fs/inode.c | 1 +
fs/xfs/xfs_file.c | 18 ++++--
include/linux/dax.h | 6 ++
include/linux/fs.h | 1 +
include/linux/mm.h | 2 +
include/linux/pagemap.h | 3 +
include/linux/pmem.h | 22 ++++++-
include/linux/radix-tree.h | 8 +++
include/linux/rmap.h | 5 ++
mm/filemap.c | 71 ++++++++++++++++++++-
mm/huge_memory.c | 14 ++---
mm/memory.c | 38 ++++++++---
mm/rmap.c | 51 +++++++++++++++
mm/truncate.c | 62 ++++++++++--------
22 files changed, 425 insertions(+), 69 deletions(-)

--
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/