# git rev-parse -q --verify c0927a7a5391f7d8e593e5e50ead7505a23cadf9^{commit} c0927a7a5391f7d8e593e5e50ead7505a23cadf9 already have revision, skipping fetch # git checkout -q -f -B kisskb c0927a7a5391f7d8e593e5e50ead7505a23cadf9 # git clean -qxdf # < git log -1 # commit c0927a7a5391f7d8e593e5e50ead7505a23cadf9 # Merge: 1899946aaf25 6e2985c938e8 # Author: Linus Torvalds # Date: Tue Feb 28 16:08:30 2023 -0800 # # Merge tag 'xfs-6.3-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux # # Pull moar xfs updates from Darrick Wong: # "This contains a fix for a deadlock in the allocator. It continues the # slow march towards being able to offline AGs, and it refactors the # interface to the xfs allocator to be less indirection happy. # # Summary: # # - Fix a deadlock in the free space allocator due to the AG-walking # algorithm forgetting to follow AG-order locking rules # # - Make the inode allocator prefer existing free inodes instead of # failing to allocate new inode chunks when free space is low # # - Set minleft correctly when setting allocator parameters for bmap # changes # # - Fix uninitialized variable access in the getfsmap code # # - Make a distinction between active and passive per-AG structure # references. For now, active references are taken to perform some # work in an AG on behalf of a high level operation; passive # references are used by lower level code to finish operations # started by other threads. Eventually this will become part of # online shrink # # - Split out all the different allocator strategies into separate # functions to move us away from design antipattern of filling out a # huge structure for various differentish things and issuing a single # function multiplexing call # # - Various cleanups in the filestreams allocator code, which we might # very well want to deprecate instead of continuing # # - Fix a bug with the agi rotor code that was introduced earlier in # this series" # # * tag 'xfs-6.3-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (44 commits) # xfs: restore old agirotor behavior # xfs: fix uninitialized variable access # xfs: refactor the filestreams allocator pick functions # xfs: return a referenced perag from filestreams allocator # xfs: pass perag to filestreams tracing # xfs: use for_each_perag_wrap in xfs_filestream_pick_ag # xfs: track an active perag reference in filestreams # xfs: factor out MRU hit case in xfs_filestream_select_ag # xfs: remove xfs_filestream_select_ag() longest extent check # xfs: merge new filestream AG selection into xfs_filestream_select_ag() # xfs: merge filestream AG lookup into xfs_filestream_select_ag() # xfs: move xfs_bmap_btalloc_filestreams() to xfs_filestreams.c # xfs: use xfs_bmap_longest_free_extent() in filestreams # xfs: get rid of notinit from xfs_bmap_longest_free_extent # xfs: factor out filestreams from xfs_bmap_btalloc_nullfb # xfs: convert trim to use for_each_perag_range # xfs: convert xfs_alloc_vextent_iterate_ags() to use perag walker # xfs: move the minimum agno checks into xfs_alloc_vextent_check_args # xfs: fold xfs_alloc_ag_vextent() into callers # xfs: move allocation accounting to xfs_alloc_vextent_set_fsbno() # ... # < /opt/cross/kisskb/korg/gcc-8.5.0-nolibc/mips-linux/bin/mips-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.5.0-nolibc/mips-linux/bin/mips-linux-ld --version # < git log --format=%s --max-count=1 c0927a7a5391f7d8e593e5e50ead7505a23cadf9 # < make -s -j 160 ARCH=mips O=/kisskb/build/linus_mips-allmodconfig_mips-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/mips-linux/bin/mips-linux- allmodconfig # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_SAMPLES=n # Added to kconfig CONFIG_MIPS_CPS_NS16550_BASE=0x1b0003f8 # Added to kconfig CONFIG_MIPS_CPS_NS16550_SHIFT=0 # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig # < make -s -j 160 ARCH=mips O=/kisskb/build/linus_mips-allmodconfig_mips-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/mips-linux/bin/mips-linux- help # make -s -j 160 ARCH=mips O=/kisskb/build/linus_mips-allmodconfig_mips-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/mips-linux/bin/mips-linux- olddefconfig .config:14300:warning: override: reassigning to symbol MIPS_CPS_NS16550_SHIFT # make -s -j 160 ARCH=mips O=/kisskb/build/linus_mips-allmodconfig_mips-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/mips-linux/bin/mips-linux- In file included from /kisskb/src/arch/mips/include/asm/div64.h:89, from /kisskb/src/include/linux/math.h:6, from /kisskb/src/include/linux/math64.h:6, from /kisskb/src/include/linux/time64.h:5, from /kisskb/src/include/linux/restart_block.h:10, from /kisskb/src/include/linux/thread_info.h:14, from /kisskb/src/include/asm-generic/current.h:5, from ./arch/mips/include/generated/asm/current.h:1, from /kisskb/src/include/linux/sched.h:12, from /kisskb/src/include/linux/ratelimit.h:6, from /kisskb/src/include/linux/dev_printk.h:16, from /kisskb/src/include/linux/device.h:15, from /kisskb/src/include/linux/auxiliary_bus.h:11, from /kisskb/src/drivers/power/supply/qcom_battmgr.c:6: /kisskb/src/drivers/power/supply/qcom_battmgr.c: In function 'qcom_battmgr_sm8350_callback': /kisskb/src/include/asm-generic/div64.h:222:28: error: comparison of distinct pointer types lacks a cast [-Werror] (void)(((typeof((n)) *)0) == ((uint64_t *)0)); \ ^~ /kisskb/src/drivers/power/supply/qcom_battmgr.c:1130:4: note: in expansion of macro 'do_div' do_div(battmgr->status.percent, 100); ^~~~~~ In file included from /kisskb/src/include/linux/dev_printk.h:14, from /kisskb/src/include/linux/device.h:15, from /kisskb/src/include/linux/auxiliary_bus.h:11, from /kisskb/src/drivers/power/supply/qcom_battmgr.c:6: /kisskb/src/include/asm-generic/div64.h:234:25: error: right shift count >= width of type [-Werror=shift-count-overflow] } else if (likely(((n) >> 32) == 0)) { \ ^~ /kisskb/src/include/linux/compiler.h:77:40: note: in definition of macro 'likely' # define likely(x) __builtin_expect(!!(x), 1) ^ /kisskb/src/drivers/power/supply/qcom_battmgr.c:1130:4: note: in expansion of macro 'do_div' do_div(battmgr->status.percent, 100); ^~~~~~ cc1: all warnings being treated as errors make[5]: *** [/kisskb/src/scripts/Makefile.build:252: drivers/power/supply/qcom_battmgr.o] Error 1 make[5]: *** Waiting for unfinished jobs.... make[4]: *** [/kisskb/src/scripts/Makefile.build:494: drivers/power/supply] Error 2 make[3]: *** [/kisskb/src/scripts/Makefile.build:494: drivers/power] Error 2 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [/kisskb/src/scripts/Makefile.build:494: drivers] Error 2 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/kisskb/src/Makefile:2028: .] Error 2 make: *** [Makefile:226: __sub-make] Error 2 Command 'make -s -j 160 ARCH=mips O=/kisskb/build/linus_mips-allmodconfig_mips-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/mips-linux/bin/mips-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus_mips-allmodconfig_mips-gcc8 # Build took: 0:06:26.920128