# git rev-parse -q --verify b52bb135aad99deea9bfe5f050c3295b049adc87^{commit} b52bb135aad99deea9bfe5f050c3295b049adc87 already have revision, skipping fetch # git checkout -q -f -B kisskb b52bb135aad99deea9bfe5f050c3295b049adc87 # git clean -qxdf # < git log -1 # commit b52bb135aad99deea9bfe5f050c3295b049adc87 # Merge: 4f016a316f22 1cd738b13ae9 # Author: Linus Torvalds # Date: Sun Feb 21 10:34:36 2021 -0800 # # Merge tag 'xfs-5.12-merge-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux # # Pull xfs updates from Darrick Wong: # "There's a lot going on this time, which seems about right for this # drama-filled year. # # Community developers added some code to speed up freezing when # read-only workloads are still running, refactored the logging code, # added checks to prevent file extent counter overflow, reduced iolock # cycling to speed up fsync and gc scans, and started the slow march # towards supporting filesystem shrinking. # # There's a huge refactoring of the internal speculative preallocation # garbage collection code which fixes a bunch of bugs, makes the gc # scheduling per-AG and hence multithreaded, and standardizes the retry # logic when we try to reserve space or quota, can't, and want to # trigger a gc scan. We also enable multithreaded quotacheck to reduce # mount times further. This is also preparation for background file gc, # which may or may not land for 5.13. # # We also fixed some deadlocks in the rename code, fixed a quota # accounting leak when FSSETXATTR fails, restored the behavior that # write faults to an mmap'd region actually cause a SIGBUS, fixed a bug # where sgid directory inheritance wasn't quite working properly, and # fixed a bug where symlinks weren't working properly in ecryptfs. We # also now advertise the inode btree counters feature that was # introduced two cycles ago. # # Summary: # # - Fix an ABBA deadlock when renaming files on overlayfs. # # - Make sure that we can't overflow the inode extent counters when # adding to or removing extents from a file. # # - Make directory sgid inheritance work the same way as all the other # filesystems. # # - Don't drain the buffer cache on freeze and ro remount, which should # reduce the amount of time if read-only workloads are continuing # during the freeze. # # - Fix a bug where symlink size isn't reported to the vfs in ecryptfs. # # - Disentangle log cleaning from log covering. This refactoring sets # us up for future changes to the log, though for now it simply means # that we can use covering for freezes, and cleaning becomes # something we only do at unmount. # # - Speed up file fsyncs by reducing iolock cycling. # # - Fix delalloc blocks leaking when changing the project id fails # because of input validation errors in FSSETXATTR. # # - Fix oversized quota reservation when converting unwritten extents # during a DAX write. # # - Create a transaction allocation helper function to standardize the # idiom of allocating a transaction, reserving blocks, locking # inodes, and reserving quota. Replace all the open-coded logic for # file creation, file ownership changes, and file modifications to # use them. # # - Actually shut down the fs if the incore quota reservations get # corrupted. # # - Fix background block garbage collection scans to not block and to # actually clean out CoW staging extents properly. # # - Run block gc scans when we run low on project quota. # # - Use the standardized transaction allocation helpers to make it so # that ENOSPC and EDQUOT errors during reservation will back out, # invoke the block gc scanner, and try again. This is preparation for # introducing background inode garbage collection in the next cycle. # # - Combine speculative post-EOF block garbage collection with # speculative copy on write block garbage collection. # # - Enable multithreaded quotacheck. # # - Allow sysadmins to tweak the CPU affinities and maximum concurrency # levels of quotacheck and background blockgc worker pools. # # - Expose the inode btree counter feature in the fs geometry ioctl. # # - Cleanups of the growfs code in preparation for starting work on # filesystem shrinking. # # - Fix all the bloody gcc warnings that the maintainer knows about. :P # # - Fix a RST syntax error. # # - Don't trigger bmbt corruption assertions after the fs shuts down. # # - Restore behavior of forcing SIGBUS on a shut down filesystem when # someone triggers a mmap write fault (or really, any buffered # write)" # # * tag 'xfs-5.12-merge-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (85 commits) # xfs: consider shutdown in bmapbt cursor delete assert # xfs: fix boolreturn.cocci warnings # xfs: restore shutdown check in mapped write fault path # xfs: fix rst syntax error in admin guide # xfs: fix incorrect root dquot corruption error when switching group/project quota types # xfs: get rid of xfs_growfs_{data,log}_t # xfs: rename `new' to `delta' in xfs_growfs_data_private() # libxfs: expose inobtcount in xfs geometry # xfs: don't bounce the iolock between free_{eof,cow}blocks # xfs: expose the blockgc workqueue knobs publicly # xfs: parallelize block preallocation garbage collection # xfs: rename block gc start and stop functions # xfs: only walk the incore inode tree once per blockgc scan # xfs: consolidate the eofblocks and cowblocks workers # xfs: consolidate incore inode radix tree posteof/cowblocks tags # xfs: remove trivial eof/cowblocks functions # xfs: hide xfs_icache_free_cowblocks # xfs: hide xfs_icache_free_eofblocks # xfs: relocate the eofb/cowb workqueue functions # xfs: set WQ_SYSFS on all workqueues in debug mode # ... # < /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 b52bb135aad99deea9bfe5f050c3295b049adc87 # < make -s -j 120 ARCH=arm O=/kisskb/build/linus_rpc_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- rpc_defconfig # < make -s -j 120 ARCH=arm O=/kisskb/build/linus_rpc_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 120 ARCH=arm O=/kisskb/build/linus_rpc_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 120 ARCH=arm O=/kisskb/build/linus_rpc_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- /kisskb/src/fs/fat/dir.c: In function 'fat_ioctl_filldir': /kisskb/src/fs/fat/dir.c:759:43: internal compiler error: Max. number of generated reload insns per insn is achieved (90) FAT_IOCTL_FILLDIR_FUNC(fat_ioctl_filldir, __fat_dirent) ^ /kisskb/src/fs/fat/dir.c:714:9: note: in definition of macro 'FAT_IOCTL_FILLDIR_FUNC' struct dirent_type __user *d2 = d1 + 1; \ ^ Please submit a full bug report, with preprocessed source if appropriate. See for instructions. make[3]: *** [/kisskb/src/scripts/Makefile.build:279: fs/fat/dir.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [/kisskb/src/scripts/Makefile.build:496: fs/fat] Error 2 make[2]: *** Waiting for unfinished jobs.... /kisskb/src/drivers/tty/vt/vt_ioctl.c: In function 'vt_ioctl': /kisskb/src/drivers/tty/vt/vt_ioctl.c:919:1: internal compiler error: Max. number of generated reload insns per insn is achieved (90) } ^ Please submit a full bug report, with preprocessed source if appropriate. See for instructions. make[4]: *** [/kisskb/src/scripts/Makefile.build:279: drivers/tty/vt/vt_ioctl.o] Error 1 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [/kisskb/src/scripts/Makefile.build:496: drivers/tty/vt] Error 2 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [/kisskb/src/scripts/Makefile.build:496: drivers/tty] Error 2 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/kisskb/src/Makefile:1812: fs] Error 2 make[1]: *** Waiting for unfinished jobs.... make[1]: *** [/kisskb/src/Makefile:1812: drivers] Error 2 make: *** [Makefile:185: __sub-make] Error 2 Command 'make -s -j 120 ARCH=arm O=/kisskb/build/linus_rpc_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus_rpc_defconfig_arm-gcc4.9 # Build took: 0:00:25.846341