# git rev-parse -q --verify bbe85027ce8019c73ab99ad1c2603e2dcd1afa49^{commit} bbe85027ce8019c73ab99ad1c2603e2dcd1afa49 already have revision, skipping fetch # git checkout -q -f -B kisskb bbe85027ce8019c73ab99ad1c2603e2dcd1afa49 # git clean -qxdf # < git log -1 # commit bbe85027ce8019c73ab99ad1c2603e2dcd1afa49 # Merge: 694565356c2e 894645546bb1 # Author: Linus Torvalds # Date: Mon Oct 19 14:38:46 2020 -0700 # # Merge tag 'xfs-5.10-merge-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux # # Pull more xfs updates from Darrick Wong: # "The second large pile of new stuff for 5.10, with changes even more # monumental than last week! # # We are formally announcing the deprecation of the V4 filesystem format # in 2030. All users must upgrade to the V5 format, which contains # design improvements that greatly strengthen metadata validation, # supports reflink and online fsck, and is the intended vehicle for # handling timestamps past 2038. We're also deprecating the old Irix # behavioral tweaks in September 2025. # # Coming along for the ride are two design changes to the deferred # metadata ops subsystem. One of the improvements is to retain correct # logical ordering of tasks and subtasks, which is a more logical design # for upper layers of XFS and will become necessary when we add atomic # file range swaps and commits. The second improvement to deferred ops # improves the scalability of the log by helping the log tail to move # forward during long-running operations. This reduces log contention # when there are a large number of threads trying to run transactions. # # In addition to that, this fixes numerous small bugs in log recovery; # refactors logical intent log item recovery to remove the last # remaining place in XFS where we could have nested transactions; fixes # a couple of ways that intent log item recovery could fail in ways that # wouldn't have happened in the regular commit paths; fixes a deadlock # vector in the GETFSMAP implementation (which improves its performance # by 20%); and fixes serious bugs in the realtime growfs, fallocate, and # bitmap handling code. # # Summary: # # - Deprecate the V4 filesystem format, some disused mount options, and # some legacy sysctl knobs now that we can support dates into the # 25th century. Note that removal of V4 support will not happen until # the early 2030s. # # - Fix some probles with inode realtime flag propagation. # # - Fix some buffer handling issues when growing a rt filesystem. # # - Fix a problem where a BMAP_REMAP unmap call would free rt extents # even though the purpose of BMAP_REMAP is to avoid freeing the # blocks. # # - Strengthen the dabtree online scrubber to check hash values on # child dabtree blocks. # # - Actually log new intent items created as part of recovering log # intent items. # # - Fix a bug where quotas weren't attached to an inode undergoing bmap # intent item recovery. # # - Fix a buffer overrun problem with specially crafted log buffer # headers. # # - Various cleanups to type usage and slightly inaccurate comments. # # - More cleanups to the xattr, log, and quota code. # # - Don't run the (slower) shared-rmap operations on attr fork # mappings. # # - Fix a bug where we failed to check the LSN of finobt blocks during # replay and could therefore overwrite newer data with older data. # # - Clean up the ugly nested transaction mess that log recovery uses to # stage intent item recovery in the correct order by creating a # proper data structure to capture recovered chains. # # - Use the capture structure to resume intent item chains with the # same log space and block reservations as when they were captured. # # - Fix a UAF bug in bmap intent item recovery where we failed to # maintain our reference to the incore inode if the bmap operation # needed to relog itself to continue. # # - Rearrange the defer ops mechanism to finish newly created subtasks # of a parent task before moving on to the next parent task. # # - Automatically relog intent items in deferred ops chains if doing so # would help us avoid pinning the log tail. This will help fix some # log scaling problems now and will facilitate atomic file updates # later. # # - Fix a deadlock in the GETFSMAP implementation by using an internal # memory buffer to reduce indirect calls and copies to userspace, # thereby improving its performance by ~20%. # # - Fix various problems when calling growfs on a realtime volume would # not fully update the filesystem metadata. # # - Fix broken Kconfig asking about deprecated XFS when XFS is # disabled" # # * tag 'xfs-5.10-merge-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (48 commits) # xfs: fix Kconfig asking about XFS_SUPPORT_V4 when XFS_FS=n # xfs: fix high key handling in the rt allocator's query_range function # xfs: annotate grabbing the realtime bitmap/summary locks in growfs # xfs: make xfs_growfs_rt update secondary superblocks # xfs: fix realtime bitmap/summary file truncation when growing rt volume # xfs: fix the indent in xfs_trans_mod_dquot # xfs: do the ASSERT for the arguments O_{u,g,p}dqpp # xfs: fix deadlock and streamline xfs_getfsmap performance # xfs: limit entries returned when counting fsmap records # xfs: only relog deferred intent items if free space in the log gets low # xfs: expose the log push threshold # xfs: periodically relog deferred intent items # xfs: change the order in which child and parent defer ops are finished # xfs: fix an incore inode UAF in xfs_bui_recover # xfs: clean up xfs_bui_item_recover iget/trans_alloc/ilock ordering # xfs: clean up bmap intent item recovery checking # xfs: xfs_defer_capture should absorb remaining transaction reservation # xfs: xfs_defer_capture should absorb remaining block reservations # xfs: proper replay of deferred ops queued during log recovery # xfs: remove XFS_LI_RECOVERED # ... # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc --version # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ld --version # < git log --format=%s --max-count=1 bbe85027ce8019c73ab99ad1c2603e2dcd1afa49 # < make -s -j 24 ARCH=arm O=/kisskb/build/linus_realview_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- realview_defconfig # < make -s -j 24 ARCH=arm O=/kisskb/build/linus_realview_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- help # make -s -j 24 ARCH=arm O=/kisskb/build/linus_realview_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- olddefconfig # make -s -j 24 ARCH=arm O=/kisskb/build/linus_realview_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- Completed OK # rm -rf /kisskb/build/linus_realview_defconfig_arm-gcc4.9 # Build took: 0:01:06.028540