# git rev-parse -q --verify 3acbdbf42e943d85174401357a6b6243479d4c76^{commit} 3acbdbf42e943d85174401357a6b6243479d4c76 already have revision, skipping fetch # git checkout -q -f -B kisskb 3acbdbf42e943d85174401357a6b6243479d4c76 # git clean -qxdf # < git log -1 # commit 3acbdbf42e943d85174401357a6b6243479d4c76 # Merge: 8834147f9505 9e05e95ca8da # Author: Linus Torvalds # Date: Wed Jan 12 15:46:11 2022 -0800 # # 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 # ... # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux-ld --version # < git log --format=%s --max-count=1 3acbdbf42e943d85174401357a6b6243479d4c76 # < make -s -j 32 ARCH=arm64 O=/kisskb/build/linus-rand_arm64-randconfig_arm64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux- randconfig # Added to kconfig CONFIG_PREVENT_FIRMWARE_BUILD=y # < make -s -j 32 ARCH=arm64 O=/kisskb/build/linus-rand_arm64-randconfig_arm64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux- help # make -s -j 32 ARCH=arm64 O=/kisskb/build/linus-rand_arm64-randconfig_arm64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux- olddefconfig # make -s -j 32 ARCH=arm64 O=/kisskb/build/linus-rand_arm64-randconfig_arm64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux- Completed OK # rm -rf /kisskb/build/linus-rand_arm64-randconfig_arm64-gcc11 # Build took: 0:06:34.754382