# git rev-parse -q --verify 5191290407668028179f2544a11ae9b57f0bcf07^{commit} 5191290407668028179f2544a11ae9b57f0bcf07 already have revision, skipping fetch # git checkout -q -f -B kisskb 5191290407668028179f2544a11ae9b57f0bcf07 # git clean -qxdf # < git log -1 # commit 5191290407668028179f2544a11ae9b57f0bcf07 # Merge: 9b03992f0c88 d3e29967079c # Author: Linus Torvalds # Date: Tue Mar 22 10:51:40 2022 -0700 # # Merge tag 'for-5.18-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux # # Pull btrfs updates from David Sterba: # "This contains feature updates, performance improvements, preparatory # and core work and some related VFS updates: # # Features: # # - encoded read/write ioctls, allows user space to read or write raw # data directly to extents (now compressed, encrypted in the future), # will be used by send/receive v2 where it saves processing time # # - zoned mode now works with metadata DUP (the mkfs.btrfs default) # # - error message header updates: # - print error state: transaction abort, other error, log tree # errors # - print transient filesystem state: remount, device replace, # ignored checksum verifications # # - tree-checker: verify the transaction id of the to-be-written dirty # extent buffer # # Performance improvements for fsync: # # - directory logging speedups (up to -90% run time) # # - avoid logging all directory changes during renames (up to -60% run # time) # # - avoid inode logging during rename and link when possible (up to # -60% run time) # # - prepare extents to be logged before locking a log tree path # (throughput +7%) # # - stop copying old file extents when doing a full fsync() # # - improved logging of old extents after truncate # # Core, fixes: # # - improved stale device identification by dev_t and not just path # (for devices that are behind other layers like device mapper) # # - continued extent tree v2 preparatory work # - disable features that won't work yet # - add wrappers and abstractions for new tree roots # # - improved error handling # # - add super block write annotations around background block group # reclaim # # - fix device scanning messages potentially accessing stale pointer # # - cleanups and refactoring # # VFS: # # - allow reflinks/deduplication from two different mounts of the same # filesystem # # - export and add helpers for read/write range verification, for the # encoded ioctls" # # * tag 'for-5.18-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (98 commits) # btrfs: zoned: put block group after final usage # btrfs: don't access possibly stale fs_info data in device_list_add # btrfs: add lockdep_assert_held to need_preemptive_reclaim # btrfs: verify the tranisd of the to-be-written dirty extent buffer # btrfs: unify the error handling of btrfs_read_buffer() # btrfs: unify the error handling pattern for read_tree_block() # btrfs: factor out do_free_extent_accounting helper # btrfs: remove last_ref from the extent freeing code # btrfs: add a alloc_reserved_extent helper # btrfs: remove BUG_ON(ret) in alloc_reserved_tree_block # btrfs: add and use helper for unlinking inode during log replay # btrfs: extend locking to all space_info members accesses # btrfs: zoned: mark relocation as writing # fs: allow cross-vfsmount reflink/dedupe # btrfs: remove the cross file system checks from remap # btrfs: pass btrfs_fs_info to btrfs_recover_relocation # btrfs: pass btrfs_fs_info for deleting snapshots and cleaner # btrfs: add filesystems state details to error messages # btrfs: deal with unexpected extent type during reflinking # btrfs: fix unexpected error path when reflinking an inline extent # ... # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/sparc64-linux/bin/sparc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld --version # < git log --format=%s --max-count=1 5191290407668028179f2544a11ae9b57f0bcf07 # < make -s -j 32 ARCH=sparc O=/kisskb/build/linus_sparc-allmodconfig_sparc64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/sparc64-linux/bin/sparc64-linux- allmodconfig # Added to kconfig CONFIG_64BIT=n # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_HAVE_FTRACE_MCOUNT_RECORD=n # Added to kconfig CONFIG_SAMPLES=n # Added to kconfig CONFIG_MODULE_SIG=n # < make -s -j 32 ARCH=sparc O=/kisskb/build/linus_sparc-allmodconfig_sparc64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/sparc64-linux/bin/sparc64-linux- help # make -s -j 32 ARCH=sparc O=/kisskb/build/linus_sparc-allmodconfig_sparc64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/sparc64-linux/bin/sparc64-linux- olddefconfig # make -s -j 32 ARCH=sparc O=/kisskb/build/linus_sparc-allmodconfig_sparc64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/sparc64-linux/bin/sparc64-linux- :1517:2: warning: #warning syscall clone3 not implemented [-Wcpp] /kisskb/src/arch/sparc/mm/srmmu.c: In function 'smp_flush_page_for_dma': /kisskb/src/arch/sparc/mm/srmmu.c:1639:13: error: cast between incompatible function types from 'void (*)(long unsigned int)' to 'void (*)(long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int)' [-Werror=cast-function-type] 1639 | xc1((smpfunc_t) local_ops->page_for_dma, page); | ^ /kisskb/src/arch/sparc/mm/srmmu.c: In function 'smp_flush_cache_mm': /kisskb/src/arch/sparc/mm/srmmu.c:1662:29: error: cast between incompatible function types from 'void (*)(struct mm_struct *)' to 'void (*)(long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int)' [-Werror=cast-function-type] 1662 | xc1((smpfunc_t) local_ops->cache_mm, (unsigned long) mm); | ^ /kisskb/src/arch/sparc/mm/srmmu.c: In function 'smp_flush_tlb_mm': /kisskb/src/arch/sparc/mm/srmmu.c:1674:29: error: cast between incompatible function types from 'void (*)(struct mm_struct *)' to 'void (*)(long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int)' [-Werror=cast-function-type] 1674 | xc1((smpfunc_t) local_ops->tlb_mm, (unsigned long) mm); | ^ /kisskb/src/arch/sparc/mm/srmmu.c: In function 'smp_flush_cache_range': /kisskb/src/arch/sparc/mm/srmmu.c:1694:29: error: cast between incompatible function types from 'void (*)(struct vm_area_struct *, long unsigned int, long unsigned int)' to 'void (*)(long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int)' [-Werror=cast-function-type] 1694 | xc3((smpfunc_t) local_ops->cache_range, | ^ /kisskb/src/arch/sparc/mm/srmmu.c: In function 'smp_flush_tlb_range': /kisskb/src/arch/sparc/mm/srmmu.c:1711:29: error: cast between incompatible function types from 'void (*)(struct vm_area_struct *, long unsigned int, long unsigned int)' to 'void (*)(long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int)' [-Werror=cast-function-type] 1711 | xc3((smpfunc_t) local_ops->tlb_range, | ^ /kisskb/src/arch/sparc/mm/srmmu.c: In function 'smp_flush_cache_page': /kisskb/src/arch/sparc/mm/srmmu.c:1726:29: error: cast between incompatible function types from 'void (*)(struct vm_area_struct *, long unsigned int)' to 'void (*)(long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int)' [-Werror=cast-function-type] 1726 | xc2((smpfunc_t) local_ops->cache_page, | ^ /kisskb/src/arch/sparc/mm/srmmu.c: In function 'smp_flush_tlb_page': /kisskb/src/arch/sparc/mm/srmmu.c:1741:29: error: cast between incompatible function types from 'void (*)(struct vm_area_struct *, long unsigned int)' to 'void (*)(long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int)' [-Werror=cast-function-type] 1741 | xc2((smpfunc_t) local_ops->tlb_page, | ^ /kisskb/src/arch/sparc/mm/srmmu.c: In function 'smp_flush_page_to_ram': /kisskb/src/arch/sparc/mm/srmmu.c:1756:13: error: cast between incompatible function types from 'void (*)(long unsigned int)' to 'void (*)(long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int)' [-Werror=cast-function-type] 1756 | xc1((smpfunc_t) local_ops->page_to_ram, page); | ^ /kisskb/src/arch/sparc/mm/srmmu.c: In function 'smp_flush_sig_insns': /kisskb/src/arch/sparc/mm/srmmu.c:1767:21: error: cast between incompatible function types from 'void (*)(struct mm_struct *, long unsigned int)' to 'void (*)(long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int)' [-Werror=cast-function-type] 1767 | xc2((smpfunc_t) local_ops->sig_insns, | ^ cc1: all warnings being treated as errors make[3]: *** [/kisskb/src/scripts/Makefile.build:288: arch/sparc/mm/srmmu.o] Error 1 make[2]: *** [/kisskb/src/scripts/Makefile.build:550: arch/sparc/mm] Error 2 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/kisskb/src/Makefile:1831: arch/sparc] Error 2 make[1]: *** Waiting for unfinished jobs.... /kisskb/src/crypto/blake2b_generic.c: In function 'blake2b_compress_one_generic': /kisskb/src/crypto/blake2b_generic.c:109:1: error: the frame size of 2288 bytes is larger than 2048 bytes [-Werror=frame-larger-than=] 109 | } | ^ cc1: all warnings being treated as errors make[2]: *** [/kisskb/src/scripts/Makefile.build:288: crypto/blake2b_generic.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/kisskb/src/Makefile:1831: crypto] Error 2 In file included from /kisskb/src/arch/sparc/include/asm/cacheflush.h:11, from /kisskb/src/include/linux/cacheflush.h:5, from /kisskb/src/drivers/crypto/xilinx/zynqmp-sha.c:6: /kisskb/src/arch/sparc/include/asm/cacheflush_32.h:38:37: error: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 38 | void sparc_flush_page_to_ram(struct page *page); | ^~~~ In file included from /kisskb/src/drivers/crypto/xilinx/zynqmp-sha.c:6: /kisskb/src/include/linux/cacheflush.h:9:32: error: 'struct folio' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 9 | void flush_dcache_folio(struct folio *folio); | ^~~~~ cc1: all warnings being treated as errors make[4]: *** [/kisskb/src/scripts/Makefile.build:288: drivers/crypto/xilinx/zynqmp-sha.o] Error 1 make[3]: *** [/kisskb/src/scripts/Makefile.build:550: drivers/crypto/xilinx] Error 2 make[2]: *** [/kisskb/src/scripts/Makefile.build:550: drivers/crypto] Error 2 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/kisskb/src/Makefile:1831: drivers] Error 2 make: *** [Makefile:219: __sub-make] Error 2 Command 'make -s -j 32 ARCH=sparc O=/kisskb/build/linus_sparc-allmodconfig_sparc64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/sparc64-linux/bin/sparc64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus_sparc-allmodconfig_sparc64-gcc11 # Build took: 0:14:57.761934