[PATCHSETS v2] v14 fsdax-rmap + v11 fsdax-reflink

From: Shiyang Ruan
Date: Fri Jun 03 2022 - 01:38:20 EST


Changes since v1[1]:
1. Rebased to mm-unstable, solved many conflicts

[1] https://lore.kernel.org/linux-xfs/20220508143620.1775214-1-ruansy.fnst@xxxxxxxxxxx/


This is an *updated* combination of two patchsets:
1.fsdax-rmap: https://lore.kernel.org/linux-xfs/20220419045045.1664996-1-ruansy.fnst@xxxxxxxxxxx/
2.fsdax-reflink: https://lore.kernel.org/linux-xfs/20210928062311.4012070-1-ruansy.fnst@xxxxxxxxxxx/


==
Shiyang Ruan (14):
dax: Introduce holder for dax_device
mm: factor helpers for memory_failure_dev_pagemap
pagemap,pmem: Introduce ->memory_failure()
fsdax: Introduce dax_lock_mapping_entry()
mm: Introduce mf_dax_kill_procs() for fsdax case
xfs: Implement ->notify_failure() for XFS
fsdax: set a CoW flag when associate reflink mappings
fsdax: Output address in dax_iomap_pfn() and rename it
fsdax: Introduce dax_iomap_cow_copy()
fsdax: Replace mmap entry in case of CoW
fsdax: Add dax_iomap_cow_copy() for dax zero
fsdax: Dedup file range to use a compare function
xfs: support CoW in fsdax mode
xfs: Add dax dedupe support

drivers/dax/super.c | 67 +++++-
drivers/md/dm.c | 2 +-
drivers/nvdimm/pmem.c | 17 ++
fs/dax.c | 399 ++++++++++++++++++++++++++++++------
fs/erofs/super.c | 10 +-
fs/ext2/super.c | 7 +-
fs/ext4/super.c | 9 +-
fs/remap_range.c | 31 ++-
fs/xfs/Makefile | 5 +
fs/xfs/xfs_buf.c | 10 +-
fs/xfs/xfs_file.c | 35 +++-
fs/xfs/xfs_fsops.c | 3 +
fs/xfs/xfs_inode.c | 69 ++++++-
fs/xfs/xfs_inode.h | 1 +
fs/xfs/xfs_iomap.c | 30 ++-
fs/xfs/xfs_iomap.h | 1 +
fs/xfs/xfs_mount.h | 1 +
fs/xfs/xfs_notify_failure.c | 220 ++++++++++++++++++++
fs/xfs/xfs_reflink.c | 12 +-
fs/xfs/xfs_super.h | 1 +
include/linux/dax.h | 56 ++++-
include/linux/fs.h | 12 +-
include/linux/memremap.h | 12 ++
include/linux/mm.h | 2 +
include/linux/page-flags.h | 6 +
mm/memory-failure.c | 265 +++++++++++++++++-------
26 files changed, 1098 insertions(+), 185 deletions(-)
create mode 100644 fs/xfs/xfs_notify_failure.c

--
2.36.1