Hi all, This patchset fixes multiple data corruption bugs in the fallocate unshare range implementation for fsdax. With a bit of luck, this should all go splendidly. Comments and questions are, as always, welcome. --D --- Commits in this patchset: * xfs: don't allocate COW extents when unsharing a hole * iomap: share iomap_unshare_iter predicate code with fsdax * fsdax: remove zeroing code from dax_unshare_iter * fsdax: dax_unshare_iter needs to copy entire blocks --- fs/dax.c | 49 +++++++++++++++++++++++++++++------------------- fs/iomap/buffered-io.c | 30 ++++++++++++++++------------- fs/xfs/xfs_iomap.c | 2 +- include/linux/iomap.h | 1 + 4 files changed, 48 insertions(+), 34 deletions(-)