[PATCH v7 0/9] DAX fsync/msync support

From: Ross Zwisler
Date: Wed Jan 06 2016 - 13:04:05 EST


Changes since v6 [1]:

1) Fixed an existing NULL pointer dereference bug in __dax_dbg() in patch 1.

2) Fixed an existing bug with the way holes are converted into DAX PMD
entries in patch 2. This solves a BUG_ON reported by Dan Williams.

3) Removed second verification of our radix tree entry before cache flush
in dax_writeback_one(). (Jan Kara)

4) Updated to the new argument list types for dax_pmd_dbg(). (Dan Williams)

5) Fixed the text of a random debug message so that it accurately reflects
the error being found.

This series replaces v6 in the MM tree and in the "akpm" branch of the next
tree. A working tree can be found here:

https://git.kernel.org/cgit/linux/kernel/git/zwisler/linux.git/log/?h=fsync_v7

[1]: https://lists.01.org/pipermail/linux-nvdimm/2015-December/003663.html

Ross Zwisler (9):
dax: fix NULL pointer dereference in __dax_dbg()
dax: fix conversion of holes to PMDs
pmem: add wb_cache_pmem() to the PMEM API
dax: support dirty DAX entries in radix tree
mm: add find_get_entries_tag()
dax: add support for fsync/msync
ext2: call dax_pfn_mkwrite() for DAX fsync/msync
ext4: call dax_pfn_mkwrite() for DAX fsync/msync
xfs: call dax_pfn_mkwrite() for DAX fsync/msync

arch/x86/include/asm/pmem.h | 11 +--
fs/block_dev.c | 2 +-
fs/dax.c | 214 ++++++++++++++++++++++++++++++++++++++++----
fs/ext2/file.c | 4 +-
fs/ext4/file.c | 4 +-
fs/inode.c | 2 +-
fs/xfs/xfs_file.c | 7 +-
include/linux/dax.h | 7 ++
include/linux/fs.h | 3 +-
include/linux/pagemap.h | 3 +
include/linux/pmem.h | 22 ++++-
include/linux/radix-tree.h | 9 ++
mm/filemap.c | 91 +++++++++++++++++--
mm/truncate.c | 69 +++++++-------
mm/vmscan.c | 9 +-
mm/workingset.c | 4 +-
16 files changed, 391 insertions(+), 70 deletions(-)

--
2.5.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/