[GIT PULL] LIBNVDIMM and DAX for 5.19

From: Dan Williams
Date: Fri May 27 2022 - 18:34:11 EST


Hi Linus, please pull from:

git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
tags/libnvdimm-for-5.19

...to receive new support for clearing memory errors when a file is in
DAX mode, alongside with some other fixes and cleanups. Previously it
was only possible to clear these errors using a truncate or hole-punch
operation to trigger the filesystem to reallocate the block, now, any
page aligned write can opportunistically clear errors as well. This
change spans x86/mm, nvdimm, and fs/dax, and has received the
appropriate sign-offs. Thanks to Jane for her work on this. It has
been in -next for several releases with no known remaining issues.

---

The following changes since commit af2d861d4cd2a4da5137f795ee3509e6f944a25b:

Linux 5.18-rc4 (2022-04-24 14:51:22 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
tags/libnvdimm-for-5.19

for you to fetch changes up to f42e8e5088b9e791c8f7ac661f68e29a4996a4e3:

pmem: implement pmem_recovery_write() (2022-05-16 13:38:19 -0700)

----------------------------------------------------------------
libnvdimm for 5.19

- Add support for clearing memory error via pwrite(2) on DAX

- Fix 'security overwrite' support in the presence of media errors

- Miscellaneous cleanups and fixes for nfit_test (nvdimm unit tests)

----------------------------------------------------------------
Dan Williams (1):
nvdimm: Allow overwrite in the presence of disabled dimms

Jane Chu (7):
acpi/nfit: rely on mce->misc to determine poison granularity
x86/mce: relocate set{clear}_mce_nospec() functions
mce: fix set_mce_nospec to always unmap the whole page
dax: introduce DAX_RECOVERY_WRITE dax access mode
dax: add .recovery_write dax_operation
pmem: refactor pmem_clear_poison()
pmem: implement pmem_recovery_write()

Michal Suchanek (2):
testing: nvdimm: iomap: make __nfit_test_ioremap a macro
testing: nvdimm: asm/mce.h is not needed in nfit.c

ran jianping (1):
tools/testing/nvdimm: remove unneeded flush_workqueue

arch/x86/include/asm/set_memory.h | 52 ----------
arch/x86/kernel/cpu/mce/core.c | 6 +-
arch/x86/mm/pat/set_memory.c | 49 ++++++++-
drivers/acpi/nfit/mce.c | 4 +-
drivers/dax/super.c | 14 ++-
drivers/md/dm-linear.c | 15 ++-
drivers/md/dm-log-writes.c | 15 ++-
drivers/md/dm-stripe.c | 15 ++-
drivers/md/dm-target.c | 4 +-
drivers/md/dm-writecache.c | 7 +-
drivers/md/dm.c | 25 ++++-
drivers/nvdimm/pmem.c | 203 +++++++++++++++++++++++++++-----------
drivers/nvdimm/pmem.h | 5 +-
drivers/nvdimm/security.c | 5 -
drivers/s390/block/dcssblk.c | 9 +-
fs/dax.c | 22 ++++-
fs/fuse/dax.c | 4 +-
fs/fuse/virtio_fs.c | 6 +-
include/linux/dax.h | 22 ++++-
include/linux/device-mapper.h | 13 ++-
include/linux/set_memory.h | 10 +-
tools/testing/nvdimm/pmem-dax.c | 4 +-
tools/testing/nvdimm/test/iomap.c | 18 ++--
tools/testing/nvdimm/test/nfit.c | 3 -
24 files changed, 359 insertions(+), 171 deletions(-)