# 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-8.1.0-nolibc/m68k-linux/bin/m68k-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/m68k-linux/bin/m68k-linux-ld --version # < git log --format=%s --max-count=1 bbe85027ce8019c73ab99ad1c2603e2dcd1afa49 # < make -s -j 10 ARCH=m68k O=/kisskb/build/linus_sun3_defconfig_m68k-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/m68k-linux/bin/m68k-linux- sun3_defconfig WARNING: unmet direct dependencies detected for NEED_MULTIPLE_NODES Depends on [n]: DISCONTIGMEM [=n] || NUMA Selected by [y]: - SINGLE_MEMORY_CHUNK [=y] && MMU [=y] WARNING: unmet direct dependencies detected for NEED_MULTIPLE_NODES Depends on [n]: DISCONTIGMEM [=n] || NUMA Selected by [y]: - SINGLE_MEMORY_CHUNK [=y] && MMU [=y] # make -s -j 10 ARCH=m68k O=/kisskb/build/linus_sun3_defconfig_m68k-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/m68k-linux/bin/m68k-linux- In file included from /kisskb/src/kernel/rcu/update.c:578: /kisskb/src/kernel/rcu/tasks.h:710:13: warning: 'show_rcu_tasks_rude_gp_kthread' defined but not used [-Wunused-function] static void show_rcu_tasks_rude_gp_kthread(void) {} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /kisskb/src/include/linux/printk.h:7, from /kisskb/src/include/linux/kernel.h:16, from /kisskb/src/include/linux/list.h:9, from /kisskb/src/include/linux/rculist.h:10, from /kisskb/src/include/linux/pid.h:5, from /kisskb/src/include/linux/sched.h:14, from /kisskb/src/fs/btrfs/extent-tree.c:6: /kisskb/src/fs/btrfs/extent-tree.c: In function '__btrfs_free_extent': /kisskb/src/include/linux/kern_levels.h:5:18: warning: format '%lu' expects argument of type 'long unsigned int', but argument 8 has type 'unsigned int' [-Wformat=] #define KERN_SOH "\001" /* ASCII Start Of Header */ ^~~~~~ /kisskb/src/include/linux/kern_levels.h:10:19: note: in expansion of macro 'KERN_SOH' #define KERN_CRIT KERN_SOH "2" /* critical conditions */ ^~~~~~~~ /kisskb/src/fs/btrfs/ctree.h:3148:24: note: in expansion of macro 'KERN_CRIT' btrfs_printk(fs_info, KERN_CRIT fmt, ##args) ^~~~~~~~~ /kisskb/src/fs/btrfs/extent-tree.c:3187:4: note: in expansion of macro 'btrfs_crit' btrfs_crit(info, ^~~~~~~~~~ /kisskb/src/fs/btrfs/extent-tree.c:3188:83: note: format string is defined here "invalid extent item size for key (%llu, %u, %llu) owner %llu, has %u expect >= %lu", ~~^ %u In file included from /kisskb/src/arch/m68k/include/asm/atomic.h:7, from /kisskb/src/include/linux/atomic.h:7, from /kisskb/src/include/linux/cpumask.h:13, from /kisskb/src/include/linux/smp.h:13, from /kisskb/src/include/linux/lockdep.h:14, from /kisskb/src/include/linux/spinlock.h:59, from /kisskb/src/include/linux/wait.h:9, from /kisskb/src/include/linux/wait_bit.h:8, from /kisskb/src/include/linux/fs.h:6, from /kisskb/src/fs/ocfs2/file.c:13: /kisskb/src/fs/ocfs2/file.c: In function 'ocfs2_file_write_iter': /kisskb/src/arch/m68k/include/asm/cmpxchg.h:79:22: warning: value computed is not used [-Wunused-value] #define xchg(ptr,x) ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr)))) ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/fs/ocfs2/file.c:2419:3: note: in expansion of macro 'xchg' xchg(&iocb->ki_complete, saved_ki_complete); ^~~~ Completed OK # rm -rf /kisskb/build/linus_sun3_defconfig_m68k-gcc8 # Build took: 0:02:32.335794