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

From: Shiyang Ruan
Date: Sun May 08 2022 - 10:36:43 EST


This is a 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/

Changes since v13 of fsdax-rmap:
1. Fixed mistakes during rebasing code to latest next-
2. Rebased to next-20220504

Changes since v10 of fsdax-reflink:
1. Rebased to next-20220504 and fsdax-rmap
2. Dropped a needless cleanup patch: 'fsdax: Convert dax_iomap_zero to
iter model'
3. Fixed many conflicts during rebasing
4. Fixed a dedupe bug in Patch 05: the actuall length to compare could be
shorter than smap->length or dmap->length.
PS: There are many changes during rebasing. I think it's better to
review again.

==
Shiyang Ruan (14):
fsdax-rmap:
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-reflink:
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 | 398 ++++++++++++++++++++++++++++++------
fs/erofs/super.c | 13 +-
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 | 9 +-
fs/xfs/xfs_fsops.c | 3 +
fs/xfs/xfs_inode.c | 69 ++++++-
fs/xfs/xfs_inode.h | 1 +
fs/xfs/xfs_iomap.c | 46 ++++-
fs/xfs/xfs_iomap.h | 3 +
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 | 257 ++++++++++++++++-------
26 files changed, 1087 insertions(+), 182 deletions(-)
create mode 100644 fs/xfs/xfs_notify_failure.c

--
2.35.1