Merge tag 'libnvdimm-for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
Pull dax and libnvdimm updates from Dan Williams: "The bulk of this is a rework of the dax_operations API after discovering the obstacles it posed to the work-in-progress DAX+reflink support for XFS and other copy-on-write filesystem mechanics. Primarily the need to plumb a block_device through the API to handle partition offsets was a sticking point and Christoph untangled that dependency in addition to other cleanups to make landing the DAX+reflink support easier. The DAX_PMEM_COMPAT option has been around for 4 years and not only are distributions shipping userspace that understand the current configuration API, but some are not even bothering to turn this option on anymore, so it seems a good time to remove it per the deprecation schedule. Recall that this was added after the device-dax subsystem moved from /sys/class/dax to /sys/bus/dax for its sysfs organization. All recent functionality depends on /sys/bus/dax. Some other miscellaneous cleanups and reflink prep patches are included as well. Summary: - Simplify the dax_operations API: - Eliminate bdev_dax_pgoff() in favor of the filesystem maintaining and applying a partition offset to all its DAX iomap operations. - Remove wrappers and device-mapper stacked callbacks for ->copy_from_iter() and ->copy_to_iter() in favor of moving block_device relative offset responsibility to the dax_direct_access() caller. - Remove the need for an @bdev in filesystem-DAX infrastructure - Remove unused uio helpers copy_from_iter_flushcache() and copy_mc_to_iter() as only the non-check_copy_size() versions are used for DAX. - Prepare XFS for the pending (next merge window) DAX+reflink support - Remove deprecated DEV_DAX_PMEM_COMPAT support - Cleanup a straggling misuse of the GUID api" * tag 'libnvdimm-for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (38 commits) iomap: Fix error handling in iomap_zero_iter() ACPI: NFIT: Import GUID before use dax: remove the copy_from_iter and copy_to_iter methods dax: remove the DAXDEV_F_SYNC flag dax: simplify dax_synchronous and set_dax_synchronous uio: remove copy_from_iter_flushcache() and copy_mc_to_iter() iomap: turn the byte variable in iomap_zero_iter into a ssize_t memremap: remove support for external pgmap refcounts fsdax: don't require CONFIG_BLOCK iomap: build the block based code conditionally dax: fix up some of the block device related ifdefs fsdax: shift partition offset handling into the file systems dax: return the partition offset from fs_dax_get_by_bdev iomap: add a IOMAP_DAX flag xfs: pass the mapping flags to xfs_bmbt_to_iomap xfs: use xfs_direct_write_iomap_ops for DAX zeroing xfs: move dax device handling into xfs_{alloc,free}_buftarg ext4: cleanup the dax handling in ext4_fill_super ext2: cleanup the dax handling in ext2_fill_super fsdax: decouple zeroing from the iomap buffered I/O code ...
No related branches found
No related tags found
Showing
- Documentation/ABI/obsolete/sysfs-class-dax 0 additions, 22 deletionsDocumentation/ABI/obsolete/sysfs-class-dax
- drivers/acpi/nfit/core.c 3 additions, 1 deletiondrivers/acpi/nfit/core.c
- drivers/dax/Kconfig 0 additions, 13 deletionsdrivers/dax/Kconfig
- drivers/dax/Makefile 2 additions, 1 deletiondrivers/dax/Makefile
- drivers/dax/bus.c 8 additions, 22 deletionsdrivers/dax/bus.c
- drivers/dax/bus.h 0 additions, 13 deletionsdrivers/dax/bus.h
- drivers/dax/device.c 1 addition, 5 deletionsdrivers/dax/device.c
- drivers/dax/pmem.c 30 additions, 6 deletionsdrivers/dax/pmem.c
- drivers/dax/pmem/Makefile 0 additions, 1 deletiondrivers/dax/pmem/Makefile
- drivers/dax/pmem/compat.c 0 additions, 72 deletionsdrivers/dax/pmem/compat.c
- drivers/dax/pmem/pmem.c 0 additions, 30 deletionsdrivers/dax/pmem/pmem.c
- drivers/dax/super.c 67 additions, 205 deletionsdrivers/dax/super.c
- drivers/md/dm-linear.c 12 additions, 51 deletionsdrivers/md/dm-linear.c
- drivers/md/dm-log-writes.c 11 additions, 99 deletionsdrivers/md/dm-log-writes.c
- drivers/md/dm-stripe.c 11 additions, 64 deletionsdrivers/md/dm-stripe.c
- drivers/md/dm-table.c 11 additions, 11 deletionsdrivers/md/dm-table.c
- drivers/md/dm-writecache.c 1 addition, 1 deletiondrivers/md/dm-writecache.c
- drivers/md/dm.c 12 additions, 77 deletionsdrivers/md/dm.c
- drivers/md/dm.h 0 additions, 4 deletionsdrivers/md/dm.h
- drivers/nvdimm/Kconfig 1 addition, 1 deletiondrivers/nvdimm/Kconfig
Loading
Please register or sign in to comment